c程序的问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:43:36
#include <stdio.h>
main()
{
char c;
clrscr();

while(!(( ( c=getchar() )=='a') || (c=='b') ))
{

printf("why twice?\n");
}
getch();

}

printf 语句为什么执行了两次

因为getchar()每次只读一个字符,例如,拍入 v和Enter键,while 循环第一次处理v,第二次处理Enter键,处理一次
printf 语句执行一次,所以共执行了两次。

如果不拍入Enter键,程序不知道输入流结束,就在没完没了地等待。