c++int main() { int *a; int *&p = a; int b = 20; *p = b; cout << *a; }

2025-05-15 07:33:46
推荐回答(2个)
回答1:

int *a; 这句话未初始化a的内存,这样定义a可能是个空指针

int *&p = a; 说明p代表了a的内存,由于a没初始化内存,此时p应该也是空的

*p = b; 此时对一个空的指针赋值是会报错的

解决方案:  是将a初始化一块内存如:int *a = new int;

回答2:

不知道是想要完成什么功能

~

语法上,*a未初始化

int main() {
int M=0;
int *a=&M;
int *&p = a;
int b = 20;
*p = b;
cout << *a;
return 0;
}