问题
单项选择题
有以下程序: #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。