问题
单项选择题
有以下程序 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。