gpt4 book ai didi

c - 在 C 语言中,函数可以 exit() 还是应该允许 main() 来处理?

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

我正在编写一个 C 程序,我对某些事情感到好奇。该程序有几个函数,成功时返回 1,失败时返回 0,大多数函数由 main() 调用(尽管有些函数由其他函数调用)。这是用于赋值,如果发现错误,我需要使用 fprintf() 将错误打印到 stderr 并终止程序。

处理错误终止的正确方法是什么?我应该允许函数打印到 stderr,然后将 1 返回给 main() 然后让 main() 实际终止,还是应该函数本身处理错误打印和程序终止?

最佳答案

C 标准规定:

5.1.2.2.3 If the return type of the main function is a type compatible with int, a return from the initial call to the main function is equivalent to calling the exit function with the value returned by the main function as its argument.

所以它是完全有效的,当你遇到 fatal error 时执行exit(errcode);

有用信息: atexit()您可以指定一个将由 exit() 调用的函数(不带参数)(例如清理困惑)。您甚至可以定义几个这样的函数:它们将以与注册相反的顺序被调用。

关于c - 在 C 语言中,函数可以 exit() 还是应该允许 main() 来处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28532379/

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