有如下程序:    #include<iostream>    using namespace std;    int main()    {       void function(double val);       double val;      

admin2013-02-27  17

问题 有如下程序:    #include<iostream>    using namespace std;    int main()    {       void function(double val);       double val;       function(val);       cout<<val;       return 0;    }    void function(double val)    {       val=3;    }    编译运行这个程序将出现的情况是

选项 A、编译出错,无法运行
B、输出:3
C、输出:3.0
D、输出一个不确定的数

答案D

解析 本题考查的是函数参数的传递。在C++中,函数在传递参数时,总是将实参值的副本传递(拷贝)给被调用函数的形参,即传值调用。因此,在函数中对形参所作的任何操作都不会改变函数外的实参。故本题function()函数不会对主函数中的 val变量造成任何改变,val也没有被初始化,所以输出的是一个不确定的值:故应该选择D。
转载请注明原文地址:https://kaotiyun.com/show/AsNp777K
0

最新回复(0)