c语言goto的用法

    C语言中的goto语句是一种跳转语句,它可以使程序跳转到指定的标签处继续执行。goto 语句允许把控制无条件转移到同一函数内的被标记的语句。

   格式:

goto label;
...
...
label:
statement;


//或者
label:
statement;
...
...
goto label;

    使用goto语句的一个常见场景是在处理错误时跳转到错误处理代码。例如,当打开文件失败时,可以使用goto语句跳转到文件关闭代码的标签处,以确保文件被正确关闭。

    下面是一个使用goto语句的示例:

#include <stdio.h>


int main() 
{
    FILE *fp;
    char filename[] = "0-test.txt";


    fp = fopen(filename, "r");
    if (fp == NULL)
     {
        goto error;
    }
    printf("open file %s ok\n", filename);
    fclose(fp);
    return 0;


error:
    printf("Failed to open file %s\n", filename);
    return -1;
}


//或者


#include <stdio.h>


int main() 
{
    FILE *fp;
    char filename[] = "test.txt";


    fp = fopen(filename, "r");
    if (fp == NULL)
        goto error;
    else
        goto ok;
error:
    printf("Failed to open file %s\n", filename);
    return 1;
ok:
    printf(" open file %s ok\n", filename);    
    fclose(fp);
    return 0;
}

在上面的示例中,如果打开文件失败,则会跳转到标签error处,打印信息并返回-1。

fd4d7b51ef7301a2d12920f3ad106cdc.png

   goto语句使用不当会使程序变得难以理解和维护,此时可以通过使用结构化的控制流语句(如if、while、for等)来实现相同的功能。

    goto语句使用与否应根据实际情况决定,goto语句使用得当可以使程序更加简洁和高效。

欢迎关注公众号:嵌入式学习与实践

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值