请教下面的题为啥选C,原理是什么

已知定义:“int a=8,*p=&a;”,则下列语句正确的是( )。
A. &*a=3
B. *a=4
C. *p=7
D. p=3.14

先读一下题干,问的是下列语句正确的是,指的就是下列语句可以正常运行的是。
那理解了题干就好选了。

  • A:&*a = 3,指想给(*a)的地址赋值为3,但是a不是指针,所以不能这样赋值;
  • B:*a = 4,同理,a不是指针,所以不能这样赋值,可以这样:a = 4 是可以正常赋值的
  • C:p是int型指针,p = 7,可以赋值成功
  • D:因为 *p 是int型指针,所以 p代表的是内存地址,而内存地址是0xXXXXX格式的,结果p=3.14格式不对

个人愚见,不知道有没有解答你的问题?

回复不易,如果我的回复对你有所帮助的话,请记得采纳哦~