C

C 知识量:16 - 74 - 317

7.5 跳转><

goto语句- 7.5.1 -

早期版本的BASIC和FORTRAN所依赖的goto语句,在C中仍然是可以使用的。

goto语句有两部分:goto和标签名。标签的命名遵循变量命名规则,例如:goto part3;

如果要真的跳转到part3,还必须包含另一条标为part3的语句,该语句以标签名后紧跟一个冒号开始。例如:part3:printf("part3 is here.");

以下是一个简单的示例:

#include <stdio.h>

int main(void) {
    int x;
    printf("Please input a integer(1~10) for x:");
    scanf("%d", &x);
    if (x <= 5 && x > 0)goto part2;
    if (x > 5 && x <= 10)goto part3;
part1:
    printf("part1");
part2:
    printf("part2");
part3:
    printf("part3");
    system("pause");
    return 0;
}

运行结果为:

Please input a integer(1~10) for x:6
part3

避免使用goto语句- 7.5.2 -

原则上,根本不用在C中使用goto语句。C语言通过使用if else和switch代替goto实现程序流的选择。使用continue代替goto实现跳转至循环末尾,并开始下一轮迭代。使用break代替goto实现跳出循环和switch语句。实际上,continue和break是goto的特殊形式。

总之,使用其他形式比使用goto的条理更清晰。过度的使用goto语句,会让程序错综复杂,难以阅读,也更容易出错。所以,应当总是避免使用goto语句。