帮我查查错误 貌似和getchar有关
只要输入指令s 在输入p 就会出现错误 我明明输入p 应该显示"print~~~\n"的 但提示我 非法指令
- C/C++ code
#include <stdio.h> void del(void){ printf("del~~~\n"); } void print(void){ printf("print~~~\n"); } void search(void){ int number; printf("\n输出要查找的学生学号:"); scanf("%c",&number); printf("search~~~\n"); return; }main(){ char code; while(1){ printf("\n请输入指令:"); scanf("%c",&code); while(getchar() != '\n'); switch(code){ case 's' : search(); break; case 'd' : del(); break; case 'p' : print(); break; case 'q' : return 0; default : printf("非法指令,您输入的是%c\n",code); } } }
[解决办法]
- C/C++ code
fflush(stdin); //清除上次的缓冲 printf("\n请输入指令:"); scanf("%c",&code); while(getchar() != '\n');
[解决办法]
- C/C++ code
void search(void){ int number; printf("\n输出要查找的学生学号:"); scanf("%d",&number); while(getchar() != '\n'); printf("search~~~\n"); return;}