首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

循环终止有关问题

2013-10-27 
循环终止问题这个代码的作用时,输入(E/e)终止循环,输入其他任何数字或字母,继续循环。代码是我写的,也是偶

循环终止问题
这个代码的作用时,输入(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、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!

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

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

热点排行