使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使该程序的输出结果为: 100 注意:错误的语句在//********error********的下面,修改该语句即可。 1 #

admin2021-05-06  42

问题 使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使该程序的输出结果为:
    100
    注意:错误的语句在//********error********的下面,修改该语句即可。
    1    #include
    2    statiC int x=50;
    3    int t=0 ;
    4  int *func(int x,int y,int z)
    s    {
    6   t=t+x+y+Z;
    7    //********error********
    8    return t;
    9    } ;
    10  void main()
    11  {
    12    int y=3 0;
    13    int x=10:    。
    14    int z=20 ;
    15    //********error********
    16    X=X;
    17    //********error********
    18    cout<    19  }

选项

答案(1)return&t ; (2)x= ::x; (3)Cout<<*fune(x,y,z)<
解析 程序当中定义了全局静态变量x,主函数内又定义了一个和静态变量x重名的变量x,在使用时需要注意区分这两个变量。函数func(int x,int y,int z)返回一个整型数据指针,功能是将参数x,y,z三者求和,通过指针返回运算结果。
    [解题思路]
    (1)由审题分析可知,函数func(int x,int y,int z)返回的是整型数据指针,而第1个标识下的retum t表示返回一个整型数据,和要求的返回数据类型不匹配,应改为“return&t:”。
    (2)第2个标识下x=x表示局部变量x自己给自己赋值,调用func(x,y,z)函数后,返回的运算结果是30+10+20=60,与输出100不同,而全局静态变量x值为50,30+50+20=100,刚好满足条件,因此第2个标识下是将全局静态变量x的值赋给局部变量x,即第2个标识下应该为“x=::x:”,“::”表示的是引用全局变量。
    (3)func(x,y,z)返回一个整型数据指针,通过该指针可以得到运算结果,而cout<
转载请注明原文地址:https://jikaoti.com/ti/4Sh0FFFM
0

最新回复(0)