C++为什么有int main()又有void main() 两者的差别是什么? 而且为什么后面的()里有时会有东西?

()里的内容有什么用?... ()里的内容有什么用? 展开
 我来答
就烦条0o
推荐于2016-01-19 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
void main() {...;exit(0);}
int main() {...; return 0;}
void 无返回值,退出主程序要有 exit(n);语句。
int 返回整型值,退出主程序要有 return n; 语句。
()之内的东西是程序执行时可能会调用的参数。
对程序员来说,main函数是程序的入口点,但是对编译器来说,需要增加附加的初始化代码来处理和操作系统环境有关的东西,诸如命令行参数等,然后再调用main进入用户编写的代码,按照约定,在调用main之前,初始化代码会按照main(int argc, char* argv[])的参数形式将argc,argv放入堆栈,供main中的代码调用。如果main定义成其它参数形式,虽然语法是没有问题,但可能得不到正确的参数。
比如,以下的参数形式多数的编译器能够编译通过
int main() //不需要处理传入参数
int main(int argc) //argc传入参数个数
int main(int argc,char *argv[]) //argc传入参数个数,argv传入命令行字符串数组
int main(int argc, int p) //虽然p定义成整型,但实际传入的仍是命令行字符串数组指针。
int main(int argc, char *argv[], int u) //多了个参数u,前面2项没问题,但对u的存取可能会破坏堆栈。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式