c++ 请解释这个程序 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/12 02:33:58
#include<iostream>
int f(int i)
{return i++;
}
int g(int &i) //这句是什么意思
{return ++i;
}
void main(){
int a,b;
a=b=0;
a+=f(g(a));
b+=f(f(b));
cout<<"a="<<a<<",b="<<b<<endl;
}
结果 a=3,b=2

还有 int g(int &i) 和int f(int i)的区别在哪里
引用型是什么意思 引用的对象是谁 ?
请解释下这段代码 谢谢 本人菜鸟

int g(int &i)是引用调用;

a=0;运行g(a)后a=1;i是a的别名,对i的任何操作直接影响a

int f(int i)是值调用,

b=0;运行f(b)后b不会变; 直接把实参(b)的值传递给形参(i);这是个单向传递过程

不过我运行结果和你不同,看下图:运行环境VC6.0

int g(int &i) 你在这个函数里修改形参i的值,同时实参的值也会改变
而int f(int i) 你改变i的值,对实参没有任何影响
你做个实验试试,就非常明白了!


你没把传值和传参数弄明白 是吧
你问一下老师就行了 直接就能把你将明白了
在这里说你的疑问就没法解决
建议多问老师

引用其实就是给你改多个名字,比如你的乳名跟你的学名。