为什么在C++中需要使用`int main`而不是`void main`?
为什么在C++中需要使用`int main`而不是`void main`?
这个问题已经有答案了:
为什么在C++中我们需要使用int main
而不是void main
?
admin 更改状态以发布 2023年5月24日
大多数操作系统会向用户或调用进程返回一个应用程序是否成功的信息。特别是在脚本编写中,当程序运行的结果满足条件时,脚本可以有条件地执行分支操作(if-then)。例如:
// pseudo-code screenscrape http://mydatasource.com > results.txt if errorlevel == 0 then processfile results.txt else echo Screen Scraping Failed! end if
这个结果状态是通过 main 函数的返回值来实现的。
虽然有些编译器允许使用 void main,但为了保持一致性和简单性,ANSI标准要求 main 函数只有一种原型:
int main(int argc, char *argv[]);
在 C 语言中,参数由调用者清理,因此 main 函数的作者可以不声明或处理参数 argc 和 argv。然而,如果调用 main 的设置和清理例程需要一个 int 返回值,而实际上没有找到,行为可能会是未定义的。
简短的回答:
- main 函数的返回值对于脚本编写很有用。
- 调用 main 的设置和清理例程需要一个一致的接口来使用。