C语言如何跳出多层循环(实战演练)
本文转载于C语言如何跳出多层循环,侵删。
1. 使用goto
虽然大多数教材和人都建议少使用goto语句,但是goto还是有它存在的道理,比如可以快速跳出多重循环。雅乐网认为在这种情况下goto是最佳的选择。
for (i = 0; i < MAX1; i++)
{for (j = 0; j < MAX2; j++){if (condition1){symbol = 1;goto here;}}
}
here:
2. 写成函数 return
void nestedfor(void)
{for (condition1){for (condition2){for (condition3){if (condition){symbol = 1;return;}}}}
}
评分:★★★★
缺点:循环嵌套很多的时候很麻烦,函数参数传递也很麻烦
3. 直接修改外层循环条件
for (i = 0; i < MAX1; i++)
{for (j = 0; j < MAX2; j++){if (condition1){symbol = 1;i = MAX;break;}}
}
评分:★★★★
缺点:修改了循环控制变量
4. 在外层循环设置判断条件
内层循环判断满足条件修改标志后 外层循环进行判断
for (symbol != 1 && condition1)
{for (symbol != 1 && condition2){for (symbol != 1 && condition3){if (condition){symbol = 1;}}}
}
评分:★★★
缺点:书写较为麻烦 未满足条件的时候有多余的判断
5. 在大循环后面判断标志加入break
for (condition1)
{for (condition2){for (condition3){if (condition){symbol = 1;}}if (symbol == 1)break;}if (symbol == 1)break;
}
评分:★★★
缺点:同2
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
