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

admin2009-01-15  28

问题 使用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;
   }

选项

答案(1)错误:return z; 正确:return &z; (2)错误:}; 正确:} (3)错误:cout<<&(add(x,y))<<endl; 正确:cout<<*(add(x,y))<<endl;

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

最新回复(0)