循环终止问题
这个代码的作用时,输入(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
[解决办法]