可能是重复问题:
C语言中的错误处理
在C语言中,函数调用失败应该返回什么值?
我通常使用0,但在if
、while
等条件判断语句中不太容易阅读。
我应该返回1吗?为什么主函数成功时使用return 0
?
可能是重复问题:
C语言中的错误处理
在C语言中,函数调用失败应该返回什么值?
我通常使用0,但在if
、while
等条件判断语句中不太容易阅读。
我应该返回1吗?为什么主函数成功时使用return 0
?
根据C的标准,0
表示成功 (感谢hvd)。
为了更好的可移植性,可以使用宏
EXIT_SUCCESS
和EXIT_FAILURE
分别表示成功和失败的常规状态值。它们在文件stdlib.h
中声明。
(我说的是从main,exit或类似调用返回给操作系统的值)
至于函数,只要保持代码易读性并一致,返回你希望的内容即可。
EXIT_SUCCESS
和 EXIT_FAILURE
的值。 - Andrew MarshallEXIT_SUCCESS
可能不是0,但即使如此,return 0;
同样 表示成功。 - user743382EXIT_FAILURE
不允许为0,因为从主函数返回0始终意味着成功。 - user743382main
函数为什么使用 0
表示成功呢?因为它作为应用程序向操作系统的退出代码,其中 0
通常表示成功而 1
(或更高)表示失败。(当然,您应该始终使用预定义的宏 EXIT_SUCCESS
和 EXIT_FAILURE
。)
然而,在应用程序内部,使用零表示失败而非零表示成功更为自然,因为返回值可以直接用于 if
中,如下所示:
if (my_func())
{
...
}