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 语句就会更加的快捷。

相关推荐
yaoxin5211239 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫10 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
noipp10 小时前
推荐题目:洛谷 P10907 [蓝桥杯 2024 国 B] 蚂蚁开会
c语言·c++·算法·编程·洛谷
学逆向的10 小时前
C++纯虚函数
开发语言·c++·网络安全
何极光10 小时前
IDEA集成Maven
java·maven·intellij-idea
程序员二叉11 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉11 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.011 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
青山木11 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
徐小夕11 小时前
Loop Engineering 深度解析与实战指南(全网最全)
前端·算法·github