问题 填空题

有如下程序段: main(int argc,char *argv[]) { int n,i=0; while(argv[1][i]!=’\0’) {n=fun();i++;} printf("%d\n",n*argc); } int fun() { static int s=0;s+=1;return s; } 假设程序经编译、连接后生成可执行文件exam,exe,若键入如下命令行: exam l23<回车> 则运行结果为 【11】

答案

参考答案:F

解析: 本题中命令行输入2个符号串,所以argc=2,argv[0]指向符号串"exam",argv[1]指向符号串"123",while循环的作用是计算argv[1]所指向的字符串的长度,执行完while循环后n=3,所以n*argc=3×2=6。

填空题
综合