请帮忙看下这个循环为什么第一次正常,第二次不正常?
代码如下:#include<stdio.h>
int main(){
char operation;
while(1){
printf("Enter the operation you want:");
operation=fgetc(stdin);
if(operation=='q')
break;
switch(operation){
case 'I':
printf("I\n");
break;
case 'i':
printf("i\n");
break;
default:
printf("Wrong input,Retry\n");
}
}
return(0);
}
运行时的现象是:
首先提示"Enter the operation you want:"
输入I,然后会打印出来I,
完了之后继续提示"Enter the operation you want:"
可是问题出现,这时候不需要输入,上面的提示语后显示"Wrong input,Retry"。
用Turbo c的watch功能显示出operation在此时已经为"\n".不知道这个"\n"是什么时候引入的?
[[it] 本帖最后由 humanpaladin 于 2008-8-17 16:53 编辑 [/it]]