引用就是别名, i是c的引用, 那么内存中c和i是同一地址, 对i进行的所有操作也就是对c进行操作~~ 还有~~你的例子太复杂了~~~不适合刚开始学~~

解决方案 »

  1.   


     调试过没有?   b+=g(g(b)); 通不过。运行的结果都是3。
      

  2.   

    #include <iostream.h> 
    int f(int i){return ++i;} 
    int g(int &i){return ++i;} int main(int argc, char* argv[])
    {
        int a=0,b=0; //-------------
        a += f(a); 
        b += g(b); 
    //-------------    cout<<a<<b; 
        return 0;
    }
    仅仅想知道引用的话, 这个例子比你那个破例子好多了~~~~
    结果: a=1, b=2
    如果//-------------换成:
        a = f(a); 
        b = g(b); 
    结果: a=1, b=1;你明白了吗?