C: 解释 if(exit(0),0){} 行代码

标签 c exit

我正在学习 C,作为练习,我正在尝试编写一个没有任何分号的简单程序。我在替换 return 0 语句时遇到了一些麻烦,但我发现这是(唯一的?)在 C 中执行此操作的方法:if(exit(0),0) {}

这个声明究竟是如何运作的?

我知道 stdlib 中的 exit() 是一个无效函数,但我不明白 ,0 部分是什么 if 有效(其余的对我来说很清楚)。

最佳答案

C 中的, 运算符计算它的两个参数,并返回第二个参数的值。所以表达式

exit(0), 0

调用 exit(0) 并返回 0。因此您发布的代码实际上等同于:

exit(0);
if (0) {}

但是,exit() 应该终止该进程,所以它永远不会真正返回。该惯用语只是用来防止虚假的编译器警告。

关于C: 解释 if(exit(0),0){} 行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15302789/

相关文章:

c - C 中的位操作和标志测试

c++ - 函数calculatePrice 的错误类型冲突

PHP:是否有可能结束像 exit() 这样的脚本但是从 php 类/对象内部

c - (C) 等待输入时跳动光标

python - 通过菜单选项退出程序

macos - 处理 MonoMac 退出/窗口关闭事件

c - C中的数组数组,其中数组的长度不同

c++ - 什么是 "modf()"(来自 C/C++ 等的数学函数)的简写?

python - 使用ctypes从python调用C函数

Android 服务不会在应用程序退出时发送通知