一个语句就20分,c++

yunnis 2011-03-13 10:12:23

#include<iostream>
using namespace std;
int &Fun(const int &x,int &y,int z)
{ z++;
y = x+y+z;
return y;
}
int main()
{ int a =1,b =2,c =3,d =0;
cout<<"a = "<<a<<" b = "<<b<<" c = "<<c<<" d = "<<d<<endl;
Fun(a,b,c)=20;
cout<<"a = "<<a<<" b = "<<b<<" c = "<<c<<" d = "<<d<<endl;
return 0;
}

这是书上 引用作为函数返回类型的例子程序。
输出结果是:
a=1 b=2 c=3 d=0
a=1 b=20 c=3 d=0
求大侠解释:Fun(a,b,c)=20;这个语句,
为什么就是b=20?
初学,没遇过这种调用,不知所云-。-
...全文
36 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yunnis 2011-03-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pengzhixi 的回复:]
Fun(a,b,c)=20;是对函数返回值进行赋值。
[/Quote]
刚缓下神,测试了return x;
才想起有可能是对返回值赋值。= =
谢谢了,好及时^_^
pengzhixi 2011-03-13
  • 打赏
  • 举报
回复
因为是引用传参,所以实际上是对b进行赋值
pengzhixi 2011-03-13
  • 打赏
  • 举报
回复
Fun(a,b,c)=20;是对函数返回值进行赋值。

33,317

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧