c89,c99,c11到底怎么定义

来源:1-1 初始C语言

_一个人_0

2015-06-04 16:01

int main(int argc,char *argv[])
{    return 0;}
int main([void])
{    return 0;}
void main()
{    [return;]}
有人说第一个是标准的,表示main函数接受参数,第二个,表示main无参数,第三个不标准的,连C语言之父没有说过这样表示。。。也这些好混乱。。。。。在网上昏了。。
求高手解释。


写回答 关注

2回答

  • onemoo
    2015-06-05 09:12:02
    已采纳

    你写的基本上没错。

    //不过第二个应该是
    int main(void)
    //而第一个也可以写成
    int main(int argc, char **argv)  // argv参数用数组或是指针形式是一样的

    main函数的返回值肯定是int型,所以返回void是错的。

    你记住这两种main声明形式就好了

    onemoo 回复_一个人_0

    在执行编译出来的可执行程序时,可以附带各种参数。比如Linux CLI中常用的: ls -al aaa bbb ls 是程序,而 -al aaa bbb 就是参数,它们就保存在argv中...具体就不解释了。 这些main函数的参数由操作系统的C运行库传入。

    2015-06-09 22:33:08

    共 2 条回复 >

  • 伊兮尘昔
    2015-06-04 18:24:29

    第一个相对标准点,不过也可以不写参数

    第二个也可以这么写,也是正确的

    但是最后一个嘛,告诉你完全是错误的

    http://www.imooc.com/video/6207  这节课程中有详细解释


    _一个人_0

    谢谢了你的回答

    2015-06-07 14:50:43

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题