单选题 下列程序的运行结果是(  )。   #include   intx=5;   intfun(inta)   {   intc:   c=X*a:      returnC;   }   voidmain()   {   intx=3,a=4;   x=x+fun(a);   cout<<"x="<  }
【正确答案】 C
【答案解析】【解析】由主函数main入手,首先x被赋值为3,a被赋值为4,然后调用fun函数,参数为4,所以在fun函数中的a=4。而主程序中的x作用域是由它定义开始到cout输出,在fun函数中无效。而在fun函数定义前的变量X作用域是整个程序,所以fun函数中的x值为5,这样C的值就为20。在主函数中的x+fun(a)中的x为靠近这条语句的x定义,即3,所以最后x的值为20+3=23。