【发布时间】:2020-07-16 15:53:12
【问题描述】:
我做了一个简单的 C 程序,下面给出了一个空的 main 并用 gcc 编译它
void main(){
}
在执行时,它返回退出代码为25,
如果我添加一个 printf 语句,在包含 stdio.h 之后,它会返回退出代码5
这里的25 和5 是什么意思,为什么main() 之前或之后执行的任何代码都会返回它?
如果我使用 int main() 并且不放置 return 语句,则退出代码为零。
【问题讨论】:
-
问题标题说你有
void main(),但问题正文说你正在执行一个带有int main()的程序。请澄清。 -
如果您在 C99 或更高版本中编译,退出状态必须为零。在 C90 模式下,它是不确定的。
-
不同长度的 printf(
printf("five\n");或printf("2\n");)可能返回码不同。 -
@JohnBollinger 编辑问题以澄清
-
@pmg 返回值是打印字符串的长度
标签: c linux shell gcc exit-code