问题 单项选择题

有以下程序 main(int argc, chara*argv[]) { int n,i=0; while(argv[1][i]! =’\0’) { n=fun();i++;} cout<<n*argc<<endl; } int fun() { static int s=0; s+=1; return s; } 假设程序经编译、连接后生成可执行文件exam.exe,若键入以下命令行 exam 123<回车> 则运行结果为

A.6

B.8

C.3

D.4

答案

参考答案:A

解析: 本题考察静态变量的使用规则。考生需要注意的是s为静态变量,每次进入fun函数时s还保留使用原来的值,因此while循环将最终返回的是各位数之和,而argc表示参数的个数,此处为1,因此正确答案为A。

单项选择题
多项选择题