C语言中函数的返回数据类型

发布于 2024-12-11 14:10:11 字数 77 浏览 1 评论 0原文

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

i have to use exit(1) command in a function.
Does it have anything to do with the return data type of the function in which it is being used?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

魔法少女 2024-12-18 14:10:11

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

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

int myFunc() {
  ...
  exit(exitCode);
  return 42;  // Never hit but keeps C compiler happy
}

No. The exit function never returns but instead terminates the process it's called from. The C compiler has no intuitive understanding of it and treats it like any other void returning function.

This does mean though that while exit will end your function the C compiler doesn't see it that way. Hence it will still want a valid return else it will spit out warnings /errors (with a high enough error level enabled). But this is easy enough to work around

int myFunc() {
  ...
  exit(exitCode);
  return 42;  // Never hit but keeps C compiler happy
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文