我知道 C89 中的惯例是在 C 程序中始终从 main 返回一个 0 整数值,如下所示:
int main() {
/* do something useful here */
return 0;
}
这是向操作系统返回一个“成功”的结果。我仍然认为自己是 C 语言的新手(或充其量是中级程序员),但迄今为止我从未完全理解为什么这很重要。
我的猜测是,如果您将此程序的输出绑定(bind)到另一个程序的输入,这是一个有用的返回结果,但我不确定。我从来没有发现它有用,或者我只是不明白它的意图是什么。
我的问题:
- C 程序总是需要返回零吗?
main()
的返回值有什么用?
最佳答案
编写脚本时(如 Bash 或 Windows 上的 CMD.exe) 你可以用 && 和 || 链接一些命令运营商。
规范地,如果 a
的结果为零,a && b
将运行 b
,而 a ||如果
将运行 a
返回非零值,bb
。
如果您希望在前一个命令成功时有条件地运行命令,这将很有用。例如,你想删除一个包含单词 foo 的文件。然后你将使用:
grep foo myfile && rm myfile
grep
匹配时返回 0,否则返回非零。
关于c - 从 main 返回零是必要的吗?从 main 返回的值有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793531/