关于c++函数定义的问题!!!

来源:百度知道 编辑:UC知道 时间:2024/06/22 22:02:50
double add(double x,double y)
{
double z;
z=x+y;
cout<<x<<"+"<<y<<"="<<z<<endl;
return(z);
}

double add(double x,double y)
{
double z;
return(z);
z=x+y;
cout<<x<<"+"<<y<<"="<<z<<endl;
}

double add(double x,double y)
{
double z;
return(x+y);
cout<<x<<"+"<<y<<"="<<z<<endl;
}

为什么这几个不同。解释清楚点,谢谢!!!!

执行到return立即从函数里退出,返回调用者
所以,第二个函数会返回个随机数
第三个函数的输出语句不执行

第一个输出 x的值+y的值=z的值(等于x+y) 然后返回z的值

第二个返回 z的值,return之后的不执行

第三个返回 x+y的值,return之后的不执行

return之后的语句是不执行的,return之后执行跳出了函数!
第一个函数返回的是x+y的值,打印
第二个函数返回的是z(应该一直是0),不打印
第三个函数返回的是x+y的值,不打印

老兄你好像对于return有点搞不清
用了return代码块就提前结束了
后面的指令无法执行
建议你翻翻书看看return是怎么运行的

你首先熟悉一下程序是如何执行的

1 完整 打印
2 编译没错 执行有错 Z没有分配内存空间
3 不打印 返回 x+y的值