![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
一道C++题目,求详解
有如下程序:#include<iostream>usingnamespacestd;intmain(){voidfunction(doubleval);doubleval...
有如下程序:
#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;
}
编译运行这个程序将出现的情况是(D)
A 编译出错,无法运行
B 输出:3
C 输出:3.0
D 输出一个不确定的数 展开
#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;
}
编译运行这个程序将出现的情况是(D)
A 编译出错,无法运行
B 输出:3
C 输出:3.0
D 输出一个不确定的数 展开
展开全部
当调用函数以后栈将为val= 3分配空间;当离开函数val释放变成一个垃圾数据。当再次调用也是同样原理。
展开全部
不同函数之间定义的相同数据名彼此之间没有关系,function函数的val的赋值只能在function函数当中起作用,与主函数当中的val没有任何关系。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你一开始没有给val赋值,因为val是定义在函数里的一个非静态空间的局部变量,所以他的值是不确定的;
第二,参数传递只能是实际参数传递给形式参数
第二,参数传递只能是实际参数传递给形式参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主函数里的val不是function里的val,主函数里并未对val赋值,如果在主函数里val=1;
就是输出1,val=3就是输出3
就是输出1,val=3就是输出3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询