4

我必须在函数中使用exit(1)命令。它与使用它的函数的返回数据类型有什么关系吗?

4

1 回答 1

4

不,该exit函数永远不会返回,而是终止调用它的进程。C 编译器对它没有直观的理解,并将其视为任何其他void返回函数。

这确实意味着虽然虽然exit会结束你的函数,但 C 编译器不会那样看。因此它仍然需要一个有效的返回,否则它会吐出警告/错误(启用足够高的错误级别)。但这很容易解决

int myFunc() {
  ...
  exit(exitCode);
  return 42;  // Never hit but keeps C compiler happy
}
于 2011-10-20T18:40:42.730 回答