A-A+

有如下程序段: main(int argc char *argv[]) { int n i=

2022-08-12 18:25:00 问答库 阅读 197 次

问题详情

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


请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:程序