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

来源:6-2 [Linux C语言] main函数中的参数

锦衣当夜行

2016-01-11 15:10

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

写回答 关注

5回答

  • 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**类型。

    锦衣当夜行

    非常感谢!

    2016-01-13 11:03:02

    共 1 条回复 >

  • 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【】?可能是你的中括号的问题是英文字符的[]


    锦衣当夜行

    亲,我是在centos的字符界面下编写,就算我想用中文的中括号估计系统也输不上的

    2016-01-11 17:12:16

    共 1 条回复 >

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

    不可以用char argv[]

    锦衣当夜行

    我又发个一个有截图的,亲可以去看看

    2016-01-11 17:14:04

    共 1 条回复 >

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

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

    锦衣当夜行

    不行,依然报错呀,我再发一个,有截图的

    2016-01-11 16:51:08

    共 1 条回复 >

Linux C语言编程基本原理与实践

本视频教程介绍C语言基本工作原理以及适用与C的实际开发方式

203963 学习 · 451 问题

查看课程

相似问题