A-A+
有以下程序 #include<string.h> main(int argc char *a
问题详情
有以下程序 #include<string.h> main(int argc,char *argv[]) { int i,len=0; for(i=1;i<argc;i++)len+=strlen(argv[i]); printf("%dn",len); } 程序编译连接后生成的可执行文件是exl.exe,若运行时输入带参数的命令行是: exl abcd efg 10<回车> 则运行的结果是:
A.22
B.17
C.12
D.9请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
解析:main()函数可以带参数,并且参数只能有两个,第一个参数(argc)类型为整型用来记下命令行的参数个数,第二个参数(argv)为一个字符型指针数组,其各个元素用来记下命令行各参数字符串的首地址。本题执行时,argc的值为4,在循环中依次求出argv[1]、argv[2]和argv[3]指向的字符串("abcd"、"efg"和"10")的长度,并把它们加到变量len中,得到len的值9。所以最后输出的len值为9,所以4个选项中D正确。