goto语句

11. goto语句

C语⾔提供了⼀种⾮常特别的语法,就是goto语句和跳转标号,goto语句可以实现在同一个函数内跳转到设置好的标号处。

例如:

cpp 复制代码
int main()
{
    printf("hehe\n");
    goto next;
    printf("haha\n");
next:
    return 0;
}
cpp 复制代码
int main(void)
{
again:
    printf("我爱C语言\n");
    printf("我爱编程\n");
    goto again;
}

注意:第二个示例是一个四循环,是不断的往下进行并跳回again处继续向下重复执行.

goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建 议是能不⽤尽量不去使⽤;但是使⽤ goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳 goto 就⾮常的⽅便了。

cpp 复制代码
for(...)
{
    for(...)
    {
        for(...)
        {
            if(disaster)
            goto error;
        }
    }
}
error:
//...

本来for循环想提前退出就得使⽤3个 break ,⼀个 break 只能跳出⼀层 break 才能跳出循环,所以在这种情况下我们使⽤ for 循环,如果3层循环嵌套 goto 语句就会更加的快捷。

相关推荐
星栈独行8 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
2601_954526758 小时前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
spencer_tseng9 小时前
Redis + Nacos.bat
java·windows·dos
qq_448011169 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
troyzhxu9 小时前
列表查询的 GraphQL —— 一行代码终结你的 if-else 地狱!
java·springboot·graphql
叩码以求索9 小时前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
孫治AllenSun10 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
c2385611 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
好好沉淀11 小时前
@NotBlank(message = “{xxx}“) 注解中花括号的含义
java