有以下程序    main(int argc, chara*argv[])    {  int n,i=0;    while(argv[1][i]! =’\0’)    {  n=fun();i++;}    cout<<n*argc<<endl;   

admin2013-02-27  28

问题 有以下程序    main(int argc, chara*argv[])    {  int n,i=0;    while(argv[1]! =’\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。
转载请注明原文地址:https://kaotiyun.com/show/nzNp777K
0

最新回复(0)