今天c程设期末考试,突然有一道选择题是关于switch中的break和continue问题。
若switch外部没有循环,则break和continue没有区别。
若switch外部还有循环,
一. 若break,continue在switch外部,则二者作用的是外部循环。
二. 若break,continue在switch内部,则break作用于switch,continue作用于外部循环。
举个栗子:
int k=0;
for(i=0;i<=2;i++){
switch(k){
case(0) printf(0);continue;
case(1) printf(1);continue;
case(2) printf(2);continue;
default printf(3);continue;
}
k=k+1;
}
如果是continue,则结果为000;
int k=0;
for(i=0;i<=2;i++){
switch(k){
case(0) printf(0);break;
case(1) printf(1);break;
case(2) printf(2);break;
default printf(3);break;
}
k=k+1;
}
如果是break;则结果为012;
如果还没懂
c语言中的switch语句中的break和continue的作用