-7

这个C程序返回值是1。return-value 1是什么意思,为什么返回1?

void main(){
;;
;;"Hi";;
;;
}

当我使用int main()然后我得到编译时错误 -[Error] ld returned 1 exit status

4

2 回答 2

3

这个C程序返回值是1。return-value 1是什么意思,为什么返回1?

在这种情况下,它意味着任何东西(未定义的行为)。

当我使用 int main() 时,我得到编译时错误- [Error] ld 返回 1 退出状态

这意味着程序异常终止

的返回值main是一个状态码——在某些操作系统中——可以在程序终止时进行测试。如果程序正常终止main应该返回;0表示异常终止,main应该返回一个非0. (实际上没有规则阻止我们将返回值用于其他目的)。

于 2013-10-07T12:43:02.377 回答
2

首先,没有什么像void main()in Cmain()应始终返回整数。因此,在您的情况下,返回值可能是任何值。void main()在 c 标准中未定义。看看这里

根据 ISO/IEC 9899 5.1.2.2.1

The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int ..

于 2013-10-07T12:45:12.540 回答