#includeusing namespace std;void f(int a,int *b,int &c,int*& d){a = 1;*b = 2;c = 3;*d = 4;}int main(){\x05int a = 0;\x05int *b = &a;\x05int &c = a;\x05int *&d = b;\x05f(a,b,c,d);\x05cout

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 01:25:11
#includeusing namespace std;void f(int a,int *b,int &c,int*& d){a = 1;*b = 2;c = 3;*d = 4;}int main(){\x05int a = 0;\x05int *b = &a;\x05int &c = a;\x05int *&d = b;\x05f(a,b,c,d);\x05cout

#includeusing namespace std;void f(int a,int *b,int &c,int*& d){a = 1;*b = 2;c = 3;*d = 4;}int main(){\x05int a = 0;\x05int *b = &a;\x05int &c = a;\x05int *&d = b;\x05f(a,b,c,d);\x05cout
#includeusing namespace std;
void f(int a,int *b,int &c,int*& d)
{
a = 1;
*b = 2;
c = 3;
*d = 4;
}
int main()
{\x05int a = 0;
\x05int *b = &a;
\x05int &c = a;
\x05int *&d = b;
\x05f(a,b,c,d);
\x05cout

#includeusing namespace std;void f(int a,int *b,int &c,int*& d){a = 1;*b = 2;c = 3;*d = 4;}int main(){\x05int a = 0;\x05int *b = &a;\x05int &c = a;\x05int *&d = b;\x05f(a,b,c,d);\x05cout
我告诉你吧,你在主函数里的操作导致4个变量同时指向了同一块内存空间,而你的f函数只能修改第4个实参d,所以当d改变的时候,和b指向同一空间的其他3实参都变了