问题 单项选择题

下面程序的输出结果是( )。  #include<iostream.h>  #include<string.h>  voidmain( )  {    charp1[10],p2[10];    strcpy(p1,"abc");    strcpy(p2,"ABC");    charstr[50]="xyz";    strcpy(str+2,strcat(p1,p2));    cout<<str;  }

A.start( )

B.init( )

C.paint( )

D.draw( )

答案

参考答案:C

解析:在被调用过程中,有这样的语句“StaticSum”,因为变量Sum是局部变量,局部变量除了可以用Dim语句声明外,还可用Static语句将变量声明为静态变量,它在程序运行过程中可保留变量的值。具体过程分析如下:  调用Sat(1),在被调过程中N=1,执行For Next循环,Sat(1)=Sum=1;  调用sat(2),在被调过程中N=2,执行For Next循环,Sat(2)=Sum=4;  调用Sat(3),在被调过程中N=3,执行For Next循环,Sat(3)=Sum=10;  调用Sat(4),在被调过程中N=4,执行For Next循环,Sat(4)=Sum=20;  不难看出,最后输出的结果S值应为1+4+10+20=35,所以选项C)是正确的。

实验题
判断题