我正在学习 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/