打印
[应用相关]

C语言中不要使用“GOTO”语句

[复制链接]
148|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
OKAKAKO|  楼主 | 2024-1-29 14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

GOTO 语句最早源于汇编语言的跳转,在很多年前,计算机的变成还处于起步阶段,C语言开始也是寻着汇编的思路来设计的,因此就遗留下了这么一个 GOTO 语句,允许程序员自由的在代码间翱翔。使用GOTO语句的例子

#include <stdio.h>

int main() {
    int i = 0;

    // 使用goto语句的简单示例
    goto start;

loop:
    printf("Inside loop: %d\n", i);
    i++;

start:
    if (i < 5)
        goto loop;

    printf("Loop finished.\n");

    return 0;
}

这种 goto 语句用起来简单,但是整体程序如果来回跳转,读起来会非常的困难,非常绕,并且 GOTO 语句还存在以下问题:

可读性差: 使用goto语句的代码通常会变得难以理解,因为它允许在程序中跳转到不同的标签位置。这使得代码流程变得不清晰,增加了理解代码的难度。
难以维护: 当代码包含大量goto语句时,很容易导致代码的维护困难。修改代码或添加新功能时,必须仔细考虑goto语句的影响,以防止引入错误。
错误的使用可能导致问题: 如果不小心使用了错误的标签,或者在不当的位置使用goto,可能导致程序的不正确行为。这种错误可能难以追踪和修复。
不利于结构化编程: 使用goto语句可能违背结构化编程的原则,使得代码难以按照清晰的结构组织。结构化编程强调使用顺序结构、选择结构和循环结构来构建清晰、可读、可维护的代码。
不利于调试: 调试时,跳转语句会使程序的执行路径变得复杂,增加了调试的难度。代码中的跳转可能使得代码不易于单步调试,阻碍了查找和修复错误的过程。

使用特权

评论回复
沙发
tpgf| | 2024-2-1 13:41 | 只看该作者
从上学的时候老师就不建议我们使用这个语句

使用特权

评论回复
板凳
zljiu| | 2024-2-1 14:33 | 只看该作者
可能是因为goto语句的可读性以及可维护性不好

使用特权

评论回复
地板
tfqi| | 2024-2-1 18:38 | 只看该作者
在c语言编程中,如何对代码段定义标签呢

使用特权

评论回复
5
gwsan| | 2024-2-1 19:09 | 只看该作者
如果goto后边什么都不跟,那么程序会运行到哪里去呢

使用特权

评论回复
6
aoyi| | 2024-2-1 19:43 | 只看该作者
现阶段使用goto语句难道就米有什么优点了吗

使用特权

评论回复
7
nawu| | 2024-2-1 20:17 | 只看该作者
我怎么看着这个代码有点不像是c语言的代码呢

使用特权

评论回复
8
sfd123| | 2024-2-2 16:17 | 只看该作者
能不用就不用,可是你知道 有时候用一下   开心到起飞啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

1075

帖子

3

粉丝