存在如下定义:int a=5,b=5,*c=&a,&d=b,下列赋值语句正确的是 A a=d+

问题描述:

存在如下定义:int a=5,b=5,*c=&a,&d=b,下列赋值语句正确的是 A a=d+
存在如下定义:int a=5,b=5,*c=&a,&d=b,下列赋值语句正确的是
A a=d+b
B a=b+c
C a=*d+c
D 以上都错
&d=b是把b的值附给了d的地址吗?

int &d=b;这句的意思是d是b的引用(可以看做d就是b,d就是b的一个别名),题目选AB和C怎么错了?解释一下吧B错在c是指针,要得到指针所指的变量的值应该*c, B 应该a=b+*c
C错在d不是指针而是引用,不能*d ,且c是指针,存的是a的地址而不是a的值。C应该a=d+*c