因为初始化a的时候是用const修饰的,默认告诉编译器a的值不需要也不能修改,所以取a的地址付给一个非const的指针,编译器会认为你将会通过此指针不小心改变a的值,所以报错提醒无法将一个const指针赋给非const指针。如果非要赋值给非const指针,加上 int* p =(int*)&a 实现强制类型转换。