问答详情
源自:6-2 [Linux C语言] main函数中的参数

argv【】的类型必须是char*吗

gcc 提示这个类型有错,弄了好久也没纠正过来。还有就是用char argv[]接受可以不,虽然gcc依然报错了。

提问者:锦衣当夜行 2016-01-11 15:10

个回答

  • onemoo
    2016-01-11 23:26:59
    已采纳

    main函数带2个参数的原型为 int main(int, char**);

    惯例上把第一个参数叫argc(argument count),第二个参数叫argv(argument vector)。而argv写成指针形式数组形式都可以

    int main(int argc, char *argv[]);

    int main(int argc, char **argv);


    但写成 char argv[] 就不对了,这个argv是char*类型而非char**类型。

  • qq_懒散的小猫咪_03912928
    2017-03-28 17:30:21

    会不会是跟我一样printf("argv[%d] is %c\n",i,argv[i]);

    把%c改为%s就行了,因为是字符串,不是字符

  • 努力提升
    2016-01-11 17:08:49

    你用的是argv【】?可能是你的中括号的问题是英文字符的[]


  • 努力提升
    2016-01-11 16:35:10

    不可以用char argv[]

  • 努力提升
    2016-01-11 16:34:17

    是你写错了,应该是int main(int argv,char *argc[])