ANSI X3.159-1989第3.6.6.4节第33-35行指出:
“如果执行了不带表达式的return语句,并且调用者使用了函数调用的值,则行为是不确定的。到达终止函数的}等效于执行不带表达式的return语句。”
我一直在寻找通过ISO/IEC 9899:1999(E)
,ISO/IEC 9899:2011(E)
,ISO/IEC 14882:2011(E)
,和ISO/IEC 14882:2014(E)
类似的声明,尤其是第二个句子,但所有我发现属于功能为主。如果有人可以将我指向这些文件中任何一个的正确位置(我不在乎哪个),我将不胜感激。
关于第一句话(您的来历似乎是错误的或过时的):
C 2011 6.8.6.4 return语句
1具有表达式的return语句不得出现在其return类型为void的函数中。没有表达式的return语句只能出现在返回类型为void的函数中。
关于第二句话:
C 2011 6.9.1函数定义
12如果到达终止函数的},并且调用者使用了函数调用的值,则该行为未定义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句