问题 填空题

使用VC6打开老考生文件夹下的工程test5_1,此工程包含一个源程序文件test5_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
x=3 y=5 z=0
8
源程序文件test5_1.cpp清单如下:
#include<iostream.h>
static int x=5;
int z=0;
int *add(int x,int y)

cout<<"X="<<X<<" y="<<y<<" Z="<<z<<endl;
z=z+x+y;
/********found*********/
return z;
/********found*********/
;
void main()

int y=5;
int x=3;
/*********found********/
cout<<&(add(X,y))<<endl;

答案

参考答案:
(A)错误:return z;
正确:return &z;
(B)错误:};
正确:}
(C)错误:cout<<&(add(x,y))<<endl;
正确:cout<<*(add(x,y))<<endl;

解析:
(1)主要考查考生对于函数返回类型的掌握,该函数的返回值应该是指向int型的指针,所以应该将地址作为返回值:
(2)主要考查考生对于类定义格式与函数定义格式区别的掌握,类的定义最后应该使用“;”而函数不需要用“;”;
(3)主要考查考生对于有返回值的函数调用的掌握,函数定义是返回指针型的,调用的时候就应该使用取地址符号。

单项选择题 A1/A2型题
判断题