gpt4 book ai didi

c - C编程中的子菜单和菜单的goto vs return

转载 作者:太空宇宙 更新时间:2023-11-04 05:03:32 25 4
gpt4 key购买 nike

我有一个非常快速的问题。使用哪个更“标准”?转到还是返回函数?

转到示例:

main(){
start:
//some code
goto start;
}

main(){
//some code
return main();
}

两者都会循环脚本。但我想知道哪个更适合使用。

goto 看起来确实不错,但是使用它有什么缺点吗? (我只是想知道,因为 goto 函数 O.o,一位讲师让同学失败了,我想知道为什么,或者他所做的是合理的。)

如果你问为什么问这个,我正在尝试创建一个带有子菜单的菜单,其中子菜单包含一个“后退”选项(我会使用 goto 或 return)

最佳答案

这里合理的做法是使用循环。它与 goto 具有相同的效果,但被认为是更好的做法,因为它遵循 structured programming 的规则。而不是以前常见的无法维护的面条汤编程。

int main(void) {
while (1) {
//some code
}
}

如果递归具有明确定义的限制,则递归调用函数也可以被认为是好的风格。 C 中的无限递归通常会导致堆栈溢出错误,因为很少有编译器实现尾调用优化。

关于c - C编程中的子菜单和菜单的goto vs return,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18310841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com