一个C语言问题

若有定义inti,j,*pi=&i;则与i==j的等价的比较表达式是?A*pi==*&jBi==&j;Ci==*piDi==**pi麻烦,解释一下,Manythanks... 若有定义 int i,j,*pi=&i;则与i==j的等价的比较表达式是?
A *pi==*&j
B i==&j;
C i==*pi
D i==**pi
麻烦,解释一下,Many thanks
展开
 我来答
Yamaki2
2010-10-18 · TA获得超过261个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:219万
展开全部
选a.
首先了解*
在定义时,表示:该变量是指针.比如 int *pi;这里pi是一个指针,指向int类型的变量.
在一般语句中,比如*pi,就是这个指针所指向的变量.
假设,int a,*pi=&a;那么pi指向a,当要用指针修改a的值的时候,就是用*pi来修改,比如*pi=3;此时a就修改为3.

其次,&取地址符,顾名思义,就是取地址.int a,*pi=&a;就是把a的地址返还给这个表达式.

那么来分析A,*pi自然代表i,那*&j呢?分析下:首先*和&的结合性从右向左,所以先做&j,即返回了一个地址,然后又做了一个*,又把这个地址变回原来的变量了.
你可以类似的看pi,*pi代表的是i(因为pi中存放的是a的地址,也就是&i),那你自然可以写成 *&i==*&j.意思和i==j一样.
qiufeng1100
2010-10-19 · TA获得超过422个赞
知道小有建树答主
回答量:332
采纳率:20%
帮助的人:139万
展开全部
选择 A 答案。
说实话,我当时面对这样的问题也是措手无策呀!不过现在明白了一点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户24564
2010-10-18
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
炫_愛羊
2010-10-18 · 超过21用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:0
展开全部
a
*p=i
&j是j的地址*&j就是j变量的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinqinuo1983
2010-10-19 · TA获得超过151个赞
知道答主
回答量:62
采纳率:0%
帮助的人:83.6万
展开全部
选A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式