A-A+

有以下程序: #include <string.h> main(int argc char

2022-08-06 05:26:31 问答库 阅读 176 次

问题详情

有以下程序: #include <string.h> main(int argc, char *argv[ ]) { int i,len-0; for(i=l;i<argc;i+=2) len+=strlen(argv[i]); printf("%dn",len); } 经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出的结果是
A.14
B.12
C.8
D.6请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:本题考核的知识点是带寥数的主函数的应用。主函数的第一个参数argc为整形参数,记下从命令行输入的参数的个数;第二个参数argv是一个字符型的指针数组,它的每一个元素指向命令行输入的参数字符数。在本例中argc的值为5,argv[0]指向字符串"ex",argv[1]指向参数字符串“abed”,argv[2]指向字符串“efg”,argv[3]指向参数字符串“h3”,argv[4]指向参数字符串“K44”。在main()函数中,for循环执行了2次,当i-1时,len=0+strlen(argv[1]),而其中argv[1]=“abcd”,故此时len的值为4;当i=3时,len=4+strlen(argv[3]),而其中argv[3]=“h3”,故此时len的值为6;当i=5时,退出循环,故最后输出的len的住为6。所以,4个选项中选项D符合题意。

考点:程序