这个问题楼上的说对了,因为对于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);//加上一个清流函数就可以了 } }