C语言使用命令行参数问题

在C语言中,为了使用命令行参数,main函数的第一行一般形式为void main(int argc,char*argv[]),如果命令行为“test a 3 data”,则argv[0]表示的是:A)test B)a C)3 D)data===答案是A,求大侠解释?

c

6个回答

依次 agrv[0]代表程序名,argv[1]....之后代表参数

NK_test
NK_test 回复anzi5091104: 但是这两个参数名字可以自定义,但前者必须整型,后者是一个字符型指针数组,这个指针数组每个指针都指向一个字符串,前者就表示字符串的个数。
4 年多之前 回复
NK_test
NK_test 回复anzi5091104: 不是的,都是argv,遵循c语言默认的参数名
4 年多之前 回复
anzi5091104
anzi5091104 我想问一下,是不是windows下的c用argv,而linux下用arg啊?
4 年多之前 回复

当然了,参数用空格分隔。第一个是test。第二个是a,等等。选a

学习C语言时一直不明白main函数带参数-命令行参数的使用方法,现在来个总结。
  main函数可以带两个形参:argc和argv, argc 是一个整形变量,argv是一个指向字符串数组的指针数组。
  void main( int argc, char *argv[ ] ) {
...../ / 函数体
  }
 实际上,main函数的参数值是从操作系统命令行上获得的,操作系统根据实......
答案就在这里:C语言命令行参数的使用
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

http://www.cnblogs.com/avril/archive/2010/03/22/1691477.html
可以看看,感觉讲的挺详细的

windows下的c用argv,而linux下用arg
就是一个变量名字而已,实际上,你可以随意定义,即使用毫无意义的A,B,C等
windows下的c用argv,而linux下用arg 是默认的定义,不必在意

对啊,不就是这样么,0是你从终端上输入的命令名称,,,,如果调用程序的软连接,就是软连接的名称,大名鼎鼎的busybox就是这么做的。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问