【发布时间】:2017-12-22 17:59:39
【问题描述】:
int main(int argc, char *argv[]) {
int option;
char user[50];
system("COLOR b");
printf("~~~~~~~~~~~~~~~~ GLENMUIR HIGH SCHOOL LIBRARY MANAGEMENT SYSTEM ~~~~~~~~~~~~~~~~~~~~~~~ \n");
printf("Username:");
scanf("%c",&user);
checkPass();
printf("\n | Options Menu |\n");
printf(" | Check Out Book(1), Return Book(2) , Register(3), Admin Login (4) |\n");
printf("Option:");
scanf("%d",&option); /*compiler ignores this completely*/
我尝试在 %d 之前添加空格,但仍然无效。新手有什么解决办法吗?
【问题讨论】:
-
它应该给你一些警告......
-
不要使用scanf。如果您只想读取一个字符,请使用
getc或fgetc或getchar。要读取整数,请使用fgets和strtol。作为新手,完全避免scanf。 -
他想读取用户名,所以 scanf 是正确的。但是不知道他是否需要先打开标准输入再使用fscanf?
-
最后一个scanf不起作用
-
我没有收到任何警告