2016 - 2024

感恩一路有你

java中能否使用goto C语言中的goto语句。为什么老师反复强调不能用?

浏览量:2993 时间:2021-04-05 07:43:38 作者:admin

C语言中的goto语句。为什么老师反复强调不能用?

说到goto的颜色变化,主要原因是goto太自由了,甚至比汇编语言跳跃更自由。跳转还需要考虑长地址、短地址等跳转。Goto完全没有限制。它可以直接从函数内部传递到函数外部,甚至传递到其他函数。这涉及到一个问题。我们都知道函数调用是为了保护当前的上下文,以及当前的执行堆栈和寄存器。一旦它进入被调用函数的内部,堆栈和寄存器都将改变。如果在函数内部使用goto去其他地方而函数不返回,程序就会乱七八糟,导致内存泄漏。因此,必须限制goto的使用。1函数内部的goto只能转到函数,以确保函数可以返回到被调用的。2中断中的goto也是一样的。Goto必须能够保证中断正常返回,否则也会导致中断异常。总之,不建议使用goto,因为它可以跳转到您想要执行的位置,而不受任何限制。它太自由了,但这是好事还是坏事,取决于程序开发人员的设计是否考虑周全,是否会导致这样那样的问题。

写程序为什么不主张用goto语句?

使用goto语句会造成程序逻辑混乱,不利于以后的操作和维护,反而大大降低了代码的可读性

建议尽量避免无条件使用goto代替goto。

Java中没有goto语句,但它仅在语法级别。实际上,Java字节码中有goto。编码人员都知道,if,while break和for all包含goto函数,但goto只能在一定条件下实现。Java通过删除goto语法来表达这一点,并且不希望程序员执行无条件goto。

所以C支持goto是正常的。一般来说,好的程序员不会无缘无故地滥用goto。如果条件满足,请转至。

另外,C更倾向于底层,提供goto和long jump函数,在某些场合比Java更方便。

既然建议尽量避免使用goto语句为何C 还要支持goto呢?

在C语言中,应该尽量避免的不是goto,而是无条件地使用goto。

汇编语言中有很多跳转指令,但这些指令不是无条件跳转指令。他们面前一定有伊夫尼和伊夫克。注意在汇编语言的使用中,虽然有跳转指令,但不建议无条件地使用这些跳转指令。它必须与一定的条件判断一起使用。

经常编写代码的人知道,if、while break和for all包含跳转函数,但它们只在特定条件下跳转。如果没有像汇编中的jump这样的跳转指令,C语言甚至不能实现If,while break和for。

因此,汇编跳转是正常的,是用来实现程序控制逻辑的必要元素。C语言应该避免无条件地滥用goto。

为什么在汇编语言中需大量使用跳转指令,而在C语言中却尽量避免使用goto语句呢?

14年来,有人说Java将要消亡,那时Java仍然是中国的主流。17年来,有人说Java真的不行了,那时Java还是中国的主流。19年来,有人说Java不再好了,他们都在用python。然而,Java和C仍然是中国的主流。最后,在2020年,另一批不处于it地位的人说Java已经不好了,go和python是主流。你相信有一群培训机构吗???你知道java生态有多好吗?你知道有多少java开发需要维护吗?你知道一家公司突然改变技术方向要花多少钱吗?

java中能否使用goto java中有没有goto关键字 java if语句

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。