读书人

帮小弟我查查异常 貌似和getchar有关

发布时间: 2012-09-02 21:00:34 作者: rapoo

帮我查查错误 貌似和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;} 

读书人网 >C语言

热点推荐