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还是可以使用的。
版权属于:东哥笔记 - DongGe.org
本文链接:https://dongge.org/blog/228.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!