首先说从循环中跳出break语句
break语句和switch判断语句中的break一样,break语句可以用在任意的循环中,for,while或者do-while中
一下以for循环为例:
[root@CWG hc]# cat breafor.c
#include <stdio.h>
main()
{
int i;
for (i = 1; i < 10; i++) {
if ( i == 5) //如果i的值等于5
break; //break语句则退出循环
fprintf(stdout, "i = %d\n", i);
}
return i;
}
[root@CWG hc]# ./breafor //执行for循环应该到9的,由于有判断加break导致只到4就提前结束
i = 1
i = 2
i = 3
i = 4
下边是continue语句的范式也解释:
[root@CWG hc]# cat continufor.c
#include <stdio.h>
main()
{
int i;
for (i = 1; i < 10; i++) {
if ( i == 5) //如果值等于5
continue; //执行continue语句,将忽略下边的语句,从循环的条件表达式开始继续运行循环
fprintf(stdout, "i = %d\n", i);
}
return i;
}
[root@CWG hc]# ./continufor //当i等于5时 continue语句导致循环返回条件表达式开始继续循环而忽略了后续的打印动作
i = 1
i = 2
i = 3
i = 4
i = 6
i = 7
i = 8
#######################
迷途小运维学习C程序语言随笔
作者:john
转载请注明出处
break语句和switch判断语句中的break一样,break语句可以用在任意的循环中,for,while或者do-while中
一下以for循环为例:
[root@CWG hc]# cat breafor.c
#include <stdio.h>
main()
{
int i;
for (i = 1; i < 10; i++) {
if ( i == 5) //如果i的值等于5
break; //break语句则退出循环
fprintf(stdout, "i = %d\n", i);
}
return i;
}
[root@CWG hc]# ./breafor //执行for循环应该到9的,由于有判断加break导致只到4就提前结束
i = 1
i = 2
i = 3
i = 4
下边是continue语句的范式也解释:
[root@CWG hc]# cat continufor.c
#include <stdio.h>
main()
{
int i;
for (i = 1; i < 10; i++) {
if ( i == 5) //如果值等于5
continue; //执行continue语句,将忽略下边的语句,从循环的条件表达式开始继续运行循环
fprintf(stdout, "i = %d\n", i);
}
return i;
}
[root@CWG hc]# ./continufor //当i等于5时 continue语句导致循环返回条件表达式开始继续循环而忽略了后续的打印动作
i = 1
i = 2
i = 3
i = 4
i = 6
i = 7
i = 8
i = 9
如果一次跳出多重循环break还是做不到的,但是goto可以,它可以跳出一层或N层循环,或者跳到任意位置,主要看goto的目标的位置
下边是goto语句的范式和解释:
[root@CWG hc]# cat continufor.c
#include <stdio.h>
main()
{
int i;
for (i = 1; i < 10; i++) {
if ( i == 5) //如果i的值等于5
goto ERROR; //goto到ERROR的位置继续执行程序
fprintf(stdout, "i = %d\n", i);
}
ERROR: //这个ERROR可以定义到任意位置
fprintf(stderr, "ERROR i = %d\n", i); //这个是ERROR这个goto目标的动作
return i;
}
[root@CWG hc]# ./continufor
i = 1
i = 2
i = 3
i = 4
ERROR i = 5
#######################
迷途小运维学习C程序语言随笔
作者:john
转载请注明出处