我必须在函数中使用 exit(1) 命令。 它与使用它的函数的返回数据类型有什么关系吗?
答案 0 :(得分:4)
没有。 exit
函数永远不会返回,而是终止从中调用的进程。 C编译器对它没有直观的理解,并且像任何其他void
返回函数一样对待它。
这确实意味着虽然exit
将结束您的函数,但C编译器不会这样看。因此它仍然需要有效的返回,否则它会吐出警告/错误(启用足够高的错误级别)。但这很容易解决
int myFunc() {
...
exit(exitCode);
return 42; // Never hit but keeps C compiler happy
}