#include <iostream>
using namespace std;
int & fun(int a){
int & r = a;
return r;
}
int main()
{
int a;
a = 1;
int & r = fun(a);
cout << r << endl;
cout << r << endl;
return 0;
}
第一个打印是1,没错。
第二个打印是21845的随机值。
为什么第二个打印不是1?
改成 int r = fun(a);
#include <iostream>
using namespace std;
int fun(int a){
int r = a;
return r;
}
int main()
{
int a;
a = 1;
int r = fun(a);
cout << r << endl;
cout << r << endl;
return 0;
}