如果您应该从Main返回0,而Exit_Success是"定义的实现",它的字面意思是it is not required to be 0,那么如果您不能相信它是正确的值,那么它还有什么意义呢?我是不是遗漏了什么?
如果您应该从Main返回0,而Exit_Success是"定义的实现",它的字面意思是it is not required to be 0,那么如果您不能相信它是正确的值,那么它还有什么意义呢?我是不是遗漏了什么?
从main
返回整数n
(如果main
的返回值为int
)相当于在标准中调用Exit(N)--5.1.2.2.3.1.exit
的定义使得exit(0)
和exit(EXIT_SUCCESS)
都是状态成功终止的实现定义形式--标准中的7.20.4.3.5.
因此,返回0(或没有返回并丢弃Main的末尾)会导致程序"成功"终止.
我不认为标准保证return EXIT_SUCCESS
和return 0
完全等同于从Main返回,但从Main返回return 0
绝对是可以的,并期望您的操作系统将其视为程序的成功终止,无论EXIT_SUCCESS
被定义为什么.
请注意,像cpparence.com这样的网站并不是关于C标准的最佳信息来源,即使它们大多是准确的--转到实际的标准(或者,如果官方标准是付费的,则至少是免费获得的委员会草案之一)并阅读它所说的,要好得多.