一直以来都使用着void main(){}但是从没有关注过参数和返回值~~~
确实是缺少哪种疑问的学习态度,从来都是来学这是什么,却没有考虑为什么要这样写。
其实main()是有参数的,而且是两个,它的原型如下:
int main(int argc,char* argv[]) { return 0; }
//其中,argc代表命令行中字符串的个数,argv是一个字符指针数组==>指向命令行中各个字符串
由于main()函数是被启动例程调用的,所以从main()函数return时仍返回到启动例程中,main()函数的返回值被启动例程得到。exit是libc中的函数,它首先做一些清理工作,然后调用_exit系统调用终止进程,main()函数的返回值最终被传给_exit系统调用,成为进程退出的状态。
exit ( main ( argc , argv ) );
旧的标准是void或int都可以,但是在新标准C99标准中mian函数必须是整形,但返回值没有限制。