c语言循环语句如何设置标志变量,从而逐层跳出

原问题:c语言循环语句如何设置标志变量,从而逐层跳出
分类:编程开发 > 最后更新时间:【2016-12-16 07:00:58】

最佳答案

题主的问题当真进行了一点思考,下面是一个简单的小程序,使用一个变量作为循环条件的一个部分。在出现特定情况时,通过改变这个变量的取值,实现了循环的逐层退出。

#include <stdio.h>
#define LOOP (1)
#define STOP (0)
int main(void) {
int flag = LOOP;
int i=0, j=0;
while (LOOP == flag && i >=0) {
i++;
while (LOOP == flag && j >= 0) {
j += 2;
// 当出现特定情况时改变标志位实现了逐层退出
if (j > 100) {
flag = STOP;
printf("Quit from inner loop.\n");
}
}
if (STOP == flag)
printf("Quit from outter loop.\n");
}
printf("i = %d, j = %d\n", i, j);
return 0;
}

最佳答案由网友  grass_rt  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
20

分享到:

其他回答

其它网友回答:
c语言跳出循环通常用break和continue

其它网友回答:
continue只对直接包含它的循环体有效(也就是for,while, 而switch{}中的不算循环体);
break有效的是直接包含它的for,while,switch块。
比如在不包含switch的代码中出现break或者continue,那么break跳出循环体,而continue跳出本次循环,而对于在循环中嵌套switch语句的代码中,break仅跳出最内层的块,这个块若是switch,就仅跳出switch,而continue即使出现在switch块中,因为continue的作用范围仅针对 for while 之类的循环语句,故不起作用,依旧跳出本次循环,不注意的话也会认为同样是跳出switch语句块了。

    推荐