高手请进
main(){char t=' y';while(t!='n'){
printf("y,n?");
t=getchar();}
结果每次输入y时都打出两个y,n?,也就是说循环两遍.这是为什么?
这个问题楼上的说对了,因为对于getchar提取字符时从输入流中提取所以由于回车也是字符,明显不是‘n’所以就会输出来两次,可以添加fflush(stdin ); #include <stdio.h>
void main() { char ch = 'y';
while ( ch != 'n' ) { printf( "y,n?" ); ch = getchar(); fflush( stdin ); } }
加上一个清流函数就可以了 #include <stdio.h>
void main() { char t='y'; while(t!='n') { printf("y,n?\n"); t=getchar(); fflush(stdin);//加上一个清流函数就可以了 } }