详解argc和argv

argc是参数个数(argument count :参数个数),定义为int

argv是字符串数组(argument vector),存的是参数,定义为char**或者char* argv[]
以下程序经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行
          ex  abcd  efg  h3  k44
    执行后的输出结果是(    )。
#include <string.h>
main(int argc ,char *argv[ ])
{ int i,len=0;
  for(i=1;i<argc;i+=2)  len+=strlen(argv[i]);
  printf("5d\n",len);
}
    A.14            B.12            C.8              D.6
详解如下:
main是个函数,argc、argv是输入的参数,但是和一般的函数又不太一样,这里argc(argument count :参数个数)argv(argument vector(大概是):指针数组,指向参数内容)。
 
argc至少为1,这是ex后没有任何参数,argv[0]指向ex程序的路径如E:\ex.exe;
 
ex abcd efg h3 k44,有4个参数,加上默认的共有5个参数,分别如下:
argv[0] 指向路径E:\ex.exe;\
argv[1] 指向字符串"abcd"
argv[2] 指向字符串"efg"
argv[3] 指向字符串"h3"
argv[4] 指向字符串"k44"
 
for 循环计算的是argv[1]、argv[3]两个字符串的长度和4+2=6,所以为D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值