下面程序的运行结果是( )。 #include intx=5; int fun(int a) { int c; C=X*a: return c; } void

admin2012-12-29  28

问题 下面程序的运行结果是(             )。
    #include
    intx=5;
    int fun(int a)
    {
    int c;
    C=X*a:
    return c;
    }
    void main()
    {
    int x=3,a=4;
    x=x+fun(a);
    cout<<“x=”<    }

选项 A、x=15
B、x=17
C、x=23
D、x=25

答案C

解析 由主函数main入手,首先x被赋值为3,a被赋值为4。然后调用fun函数,参数为4,所以在fun函数中的a=4。而主程序中的x作用域是由它定义开始到four输出,在fun函数中无效。而在fan函数定义前的变量x作用域是整个程序,所以fan函数中的x值为5,这样c的值就为20。在主函数中的x+fun(a)中的x为靠近这条语句的x定义,即3,所以最后x的值为20+3=23。
转载请注明原文地址:https://kaotiyun.com/show/MgVp777K
0

最新回复(0)