一个C语言问题。关于switch()语句的。
#include <stdio.h>#include <stdlib.h>
int main()
{
char ch;
while((ch=getchar())!='#');
{
switch(ch)
{
case 'a':
printf("it is Correct!");
break;
case 'b':
printf("it is Error!");
break;
default:
printf("Please input afresh!");
}
}
按照代码所示,我输入一个字符 a ,得到的显示应该是 it is Correct! 但我输入后 却没有显示 这是什么原因 ?问题出哪了,请指点迷津。
答案:while((ch=getchar())!='#'); 把分号去掉,否则不输入#就死循环了。
其他:楼主,你好
你的这一行
while((ch=getchar())!='#');
后面的分号明显是不必要的
请楼主注意while语句的使用
另外第一行的两组分行写
程序我已测试通过
请检验,谢谢 因为你设定的循环结束条件是输入#号,所以在输入#号之前一直是读取字符状态……而且你这循环不对,取到里面的ch永远是最后一个输入的字符……
上一个:我现在培训嵌入式,先期复习了下C语言,感觉好多东西丢掉了!不知道对后期的影响大不大?
下一个:C++中三维数组在计算机中是如何存储的?