读书人

循环终止有关问题

发布时间: 2013-10-27 15:21:50 作者: rapoo

循环终止问题
这个代码的作用时,输入(E/e)终止循环,输入其他任何数字或字母,继续循环。
代码是我写的,也是偶然发现的,但是我也不知道这是为什么,求解释。


#include<stdio.h>
#include<string.h>
int main (void)
{
char ch;
int x;
do{
printf("请输入任意月份");
scanf("%d",&x);
ch = getchar();
if(ch == 'e' || ch == 'E')
break;
switch (x){
case 1: puts("冬季") ; break;
case 2:
case 3:
case 4: puts("春季") ; break;
case 5:
case 6:
case 7: puts("夏季") ; break;
case 8:
case 9:
case 10: puts("秋季") ; break;
case 11:
case 12: puts("冬季"); break;
default : puts("您输入的不是月份!");
break;
}
// getchar();
printf("press (E/e) to exit:\n");

}while(1);
return(0);
}
[解决办法]
可能又是回车符的问题。。。。
[解决办法]
linux环境下验证了下,没有啥问题啊,lz有啥疑问
[解决办法]
break;
如果用于循环,跳出最内层的循环
如果用于switch,跳出最内层的switch
[解决办法]


[解决办法]
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!

有人说一套做一套,你相信他说的还是相信他做的?
其实严格来说这个世界上古往今来所有人都是说一套做一套,不是吗?

不要写连自己也预测不了结果的代码!

读书人网 >C语言

热点推荐