语言中break,continue和goto语句的使用

首先说从循环中跳出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

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
转载请注明出处
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值