项目中碰到如下结构程序:
switch(){
case :
while(1){
if(){
break;
}
}
}
不确定break使程序跳到哪里,根据功能可以猜到break使程序直接跳出while(1),编写如下程序做测试:
int main()
{
int i = 1;
volatile int k = 0;
switch(i){
case 1 :
while(1){
if(k != 4){
k += 1;break;
}
k = 7;break;
}
k=5;break;
case 2:
k = 2;break;
default:
k = 3;break;
}
return 0;
}
调试结果:k=5。验证了猜想。说明break不能跳出if可以跳出while()。
用户377235 2016-2-24 09:45