不用GOTO语句,如何跳出多层嵌套讨论.
不用GOTO语句,如何跳出多层嵌套?
如:for(i = 0;i <50;i++){
for(j = 0;j <50;j++){
if(j == 5){
break;
}
}
}
break_here
如何从break直接跳到break_here处呢?
[解决办法]
bool bContinue = true;
for(i = 0;i <50&&bContinue;i++){
for(j = 0;j <50&&bContinue;j++){
if(j == 5){
bContinue = false;
}
}
}
[解决办法]
加个变量就可以了
[解决办法]
int i , j , k = -1 ;
i = 1 ;
while ( 1 ) {
while( 1 ) {
while( k < 1 ) {
k ++ ;
}
j = 1 ;
if( k ) break ;
}
if ( j )
break ;
}
[解决办法]
一个方法是用 开关变量。。。。
再一个建议你就直接 GOTO得了。。。。
我个人认为 GOTO 跟 BREAK 都是跳转 木有太大区别了
人家说 GOTO 伤机机,BREAK 我看也挺猛。。。。
而且编程这个东西吗,改用 GOTO的时候还是要用的,
有些好算法 不用GOTO是写不出来的。
[解决办法]
变量开关