第一,你的程序有问题scanf("%c",&a);//这里要&(取地址符)第二,为什么第二个会被忽略的问题是因为,第一次输入的时候,回车键会滞留在输入缓冲区,第二次要去输的时候,会直接去读回车键在第二次要去输入的时候,可以先清除缓冲区,用getchar(),或者用fflush(stdin)printf("Y or N?");scanf("%c",&a);getchar();//或者fflush(stdin);printf("Y or N?);scanf("%c",&b);
首先scanf应该这样用 scanf("格式化字符串",变量地址)你的用法是错误的"%c"只从输入缓冲里读一个字符,但是你在输入的时候不只一个字符,剩下的字符(包括回车)就留给第二个"%c"了解决方法:printf("Y or N?");scanf("%c\n",&a);fflush(stdin);printf("Y or N?);scanf("%c\n",&a);fflush(stdin);