关于break
想请教一下大佬们,C语言中break对if-else语句有没有影响呢?比如:
switch:
case 1:.......
case 2:.......
case 3:
if (1):
......
break;
else:
......
里面的break是跳出if-else还是跳出switch呢?
我自己举例子试了试,好像是没有影响,想找大佬确认一下。 if…else…不形成作用域,所以不会有break,因此break跳出的是switch 本帖最后由 小甲鱼的铁粉 于 2020-8-22 07:49 编辑
break在switch中是直接跳出整个switch的{:10_250:} break 不能用于 if…else sunrise085 发表于 2020-8-21 22:23
if…else…不形成作用域,所以不会有break,因此break跳出的是switch
形成作用域啊{:10_277:} 小甲鱼的铁粉 发表于 2020-8-21 22:24
break在switch中是直接跳出整个switch循环的
switch 不是循环 weiter 发表于 2020-8-21 22:22
if-else
在哪一层就跳出那一层
错解 对在循环里的 if - else 有影响,其他情况...我觉得应该没有吧 永恒的蓝色梦想 发表于 2020-8-21 22:47
错解
好吧……受教了 本帖最后由 风过无痕1989 于 2020-8-23 00:03 编辑
break语句通常用在循环语句和开关语句中。当break语句用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;而对于其他循环语句而言,如果没有break语句,则有可能将成为一个死循环而无法退出。
#include <stdio.h>
int main(){
int a;
printf("Input integer number:");
scanf("%d",&a);
switch(a){
case 1: printf("Monday\n"); break;
case 2: printf("Tuesday\n"); break;
case 3: printf("Wednesday\n"); break;
case 4: printf("Thursday\n"); break;
case 5: printf("Friday\n"); break;
case 6: printf("Saturday\n"); break;
case 7: printf("Sunday\n"); break;
default:printf("error\n"); break;
}
return 0;
} 风过无痕1989 发表于 2020-8-22 11:30
break语句通常用在循环语句和开关语句中。当break语句用于开关语句switch中时,可使程序跳出switch而执行sw ...
没有break的话不是会从当前case执行到最后一条吗?哪儿来的死循环啊{:10_245:} 昨非 发表于 2020-8-22 23:15
没有break的话不是会从当前case执行到最后一条吗?哪儿来的死循环啊
break 对 switch 语句而言,没有它,会逐条逐条语句执行到最后,当然不会死循环;而对于其他的循环语句而言,没有它,当然有可能形成死循环哪 风过无痕1989 发表于 2020-8-22 23:55
break 对 switch 语句而言,没有它,会逐条逐条语句执行到最后,当然不会死循环;而对于其他的循环语句而 ...
okok好吧 有歧义,没事了{:10_277:}
页:
[1]