问题 单项选择题

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

程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是:
ex1 abcd efg 10<回车>
则运行的结果是( )。

A.22

B.17

C.12

D.9

答案

参考答案:D

解析: 本题执行时,因为命令行一共有4个字符串,所以argc的值为4,在循环中依次求出argv[1]、argv[2]和argv[3]指向的字符串("abcd"、"efg"和"10")的长度,并把它们加到变量len中,得到len的值9。所以最后输出的len值为9,故4个选项中D正确。

单项选择题
单项选择题