请各位大虾为我讲讲这道编程题目,不胜感激

来源:百度知道 编辑:UC知道 时间:2024/09/21 08:01:45
若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是____。
A)i=*p
B)*p=*&j
C)i=&j
D)i=**p

*p=&i该怎样解释?

int *p=&i,这个意思就是说定义一个指向整形的指针,该指针指向变量i的地址。
答案是B,定义的p是指向i的一个指针,所以在B中,*p就是取p这个地址的内容,实际上就是i,而表达式右边的*&j,由于*和&是互逆的操作,所以相当于没有对j进行操作,表达式右边就是j,所以B选项就等价于i=j;

int *p=&i;定义了一个指针p, p的值为i的地址值,从而使p指向变量i;
&取变量地址的符号
答案应该是B,i等价于*p;
*&j,先取j 的内存地址,然后取这个内存地址里面的值,结果还是j;