问答详情
源自:-

关于主函数的问题

以前学过C 现在重拾 以前记得主函数的声明是 void main() 现在的声明是int main() 在函数结束时加个return 0 

如果我用Void来声明 是不是后面不用return 0 了?还有现在还能用void 吗?

提问者:chen2015 2015-03-01 16:34

个回答

  • onemoo
    2015-03-01 23:04:03

    你不是问过这个问题了么...


    关于return:

    对于main:

    已经说过了main函数不能声明为返回void。老的标准中不能省略main的return语句。但是在C99中,如果在main中省略最后的return,编译器会自动认为返回0。注意:这只对于main函数有效。

    对于其他函数:

    如果声明返回void的话,是可以省略函数最后的return语句的。

    可如果声明了返回类型,但最后又没有写return的话,函数的调用者收到的返回值是未定义的,一般是不确定的值。所以一定要避免漏写return。(一般编译器能检查出这种错误)


  • wshlin
    2015-03-01 17:19:46

    gcc支持ANSI C,C99和C11.

  • lymo
    2015-03-01 16:51:00

    C89的标准里void main()可以,但在C99中main必须返回一个int,后面加return 0;表示程序正常退出,当然,编译器也会帮你干这事,建议用新标准的方法。若考虑到老机器的移植,可能C89更好。

  • chen2015
    2015-03-01 16:44:18

    没人理吗?