字符常量循环问题
main(){
char c;
do
{
printf("good\n");
scanf("%c",&c);
}while(c=='y');
}
为什么不能在输入Y时循环却直接退出了。。。把C换成INT的。。输入数字就可以循环。。为什么会这样。。。是我的编译器问题吗??
----------------解决方案--------------------------------------------------------
输入Y以后其实循环了一次,它把你上次的输入Y后遗留的换行或空格赋给C了。
----------------解决方案--------------------------------------------------------
清一下流。
在scanf后面加一句:fflush(stdin)
----------------解决方案--------------------------------------------------------
3楼能解释一下吗
----------------解决方案--------------------------------------------------------
main()
{
char c;
do
{
printf("good\n");
scanf("%c",&c);
while (getchar() != '\n') // 清理缓存中的其他数据
continue;
}while(c=='y');
}
----------------解决方案--------------------------------------------------------
不知道你们讲什么!我测试!
输入Y可以正常循环啊!!
我看了下!你的语言效果也是要这样的!输入Y继续循环
----------------解决方案--------------------------------------------------------
不过输入Y后!只能做一次循环就出来了!!
你是想
只要输入Y就无限循环吗
----------------解决方案--------------------------------------------------------