由于break语句只能影响它的最内层循环,要想立即从深层嵌套循环中退出,有哪些方法呢?
1、使用goto语句:
while(condition1) { while(condition2) { while(condition3) { if(some disaster) goto quit; } } } quit:;
要想在这种情况下避免使用goto语句,可以考虑以下两种方案:
2、设置状态标志:
当你希望退出所有循环时设置一个状态标志,但这个标志在每个循环中都必须进行测试:
enum{EXIT, OK}status; ... status = OK; while(status == OK && condition1) { while(status == OK && condition2) { while(condition3) { if(some disaster) status = EXIT; break; } } }
3、使用函数返回:
把所有的循环都放在一个单独的函数里,当灾难降临在最内层的循环的时候,可以使用return语句离开这个函数
相关推荐
C语言嵌套for循环详细讲解
C语言的简单基本实例,包括循环、嵌套、数组、指针、函数、结构体等内容。
C语言程序设计循环嵌套PPT课件.pptx
C语言中循环嵌套的教学设计与探讨.pdf
C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言编程技巧C语言...
C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言循环习题C语言...
C语言应用的几个技巧C语言应用的几个技巧C语言应用的几个技巧C语言应用的几个技巧C语言应用的几个技巧C语言应用的几个技巧
基于微课程的C语言之循环嵌套教学设计.pdf
基于案例教学法的C语言之循环嵌套教学设计.pdf
#include main() {int k,i,j; for(i=o;i;i++) {for(k=0;k;k++) printf(""); for(j=0;j;j++) printf("*"); printf("\n"); } for(i=0;i;i++) {for(k=1;k;k++) printf(""); for(j=0;j*2;j++) printf("*");...}
C语言函数的嵌套调用和递归调用PPT课件.pptx
C语言函数的嵌套调用和递归调用学习教案.pptx
c语言输出三角形星号
存在多层嵌套循环时,下列说法正确的是( ). A、continue语句可以中止所有循环 B、break语句可以中止所有循环 C、continue语句能够中止包含该语句的最内层循环 D、break语句能够中止包含该语句的最内层循环 【参考答案...
C语言函数的嵌套调用和递归调用PPT学习教案.pptx
百钱买百鸡 算法:由代数知识可知,它有多组解,所以采用枚举法。
在嵌套循环中的死循环问题与解决方案。
打印乘法口诀表 算法:逐行输出:(输出第1行/第2行/第3行。。。第9行)
c语言实验05 循环嵌套程序设计
C语言全套资料 C语言程序设计 C语言算法 C语言课件 C语言顺序程序设计,C语言数组,C语言循环控制,C语言预处理命令,C语言文件操作指针,C语言选择结构程序设计,C语言结构体与共用体,C语言文件操作,C语言函数