问题
单项选择题
有如下程序: #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。