C语言提供了可随意使用的goto语句以及标记跳转位置的标号。从理论上来说goto语句是没有必要的,但是在某些情况下goto语句还是用的着的,最常见的就是终止程序在某些深度嵌套的结构中处理过程,比如跳出一层循环或者多层循环。

这种情况下,break语句是不能达到目的的,因为break语句只能跳出上个循环,而共同语句则可以直接跳出循环。


for (int i = 0; i < 5; ++i)
    {
        if (i==3)
        {
            goto error;
             printf("hh\n");
        }
    }
error:
    printf("dd\n");
    printf("mm\n");


上面这个就是最简单的例子,这个当i==3的时候,就会跳转到error的部分,开始执行error后面的语句,而不会在执行goto下面的语句。

所以输出是dd  mm        而不会输出hh

如果是一个循环的话break就行了,但是多层循环的话,goto还是可以使用的。


☟☟可点击下方广告支持一下☟☟

最后修改:1970 年 01 月 01 日
请我喝杯可乐,请随意打赏: ☞已打赏列表