当我遇到这个时,我正在经历一些程序。
#include<stdio.h>
void main()
{
char z;
do
{
printf("1st line\n");
printf("2nd line\n");
scanf("%c",&z);
switch(z)
{
case 'a':printf("this is case a\n");
break;
case 'b':printf("this is case b\n");
break;
case 'c':printf("Exit\n");
return;
break;
default:
printf("this is default\n");
break;
}
}while(1);
}
第一次我输入,输出是正确的。但是在给出第一个输入并且第二次循环开始之后, scanf 语句根本不会执行。printf 语句虽然被执行,但也是默认情况。
第 1 行
第 2 行
b
这是案例 b
第 1 行
第 2 行
这是默认值
第 1 行
第 2 行