问题 单项选择题

有以下程序:
#include <stdio.h>
#include <string.h>
main(int argc,char *argv[])
int i,len=0;
for(i=1;i<argc;i+=2)len+=strlen(argv[i]);
prinff("%d\n",len);

此程序经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行:
ex abed efg h3 k44
则执行后的输出结果时( )。

A) 14
B) 12
C) 8

D) 6

答案

参考答案:D

解析: main函数可以有两个参数,第一个参数为一个整型变量,表示命令行参数的个数,本题为5;第二个参数为一个字符型指针数组,其中第一个数组元素指向程序名,第二个数组元素指向命令行中的第一个参数,以后依此类推。
由程序中的for循环可以看出,程序是求第一(argv[1])、第三(argv[3])个参数的长度之和,即4+2=6。

单项选择题
多项选择题