怎么理解C语言中 a=p==&m;的意思

#include"stdio.h"main(){inta,b,k=5,m=4;int*p1=&k,*p2=&m;a=p1==&m;b=(-*p1)/(*p2)+7;pri... # include"stdio.h"
main()
{
int a,b,k=5,m=4;
int *p1=&k,*p2=&m;

a=p1==&m;
b=(-*p1)/(*p2)+7;
printf("a=%d\n",a);
printf("b=%d\n",b);

}
展开
 我来答
vwenye
推荐于2018-03-11 · TA获得超过4984个赞
知道大有可为答主
回答量:1510
采纳率:0%
帮助的人:803万
展开全部
a=p1==&m;
意思就是
如果指针p1 是指向m所在的内存,那么a = 1;否则 a = 0
就是先判断俩指针是不是相等,然后赋值给a
一曲邪吟
推荐于2016-09-26 · TA获得超过116个赞
知道答主
回答量:78
采纳率:0%
帮助的人:46.8万
展开全部
==优先运算。如果p的值等于m的地址,a=1,否则a=0
相当于表达式a=(p==&m?1:0);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笨笨陆渐
2011-06-02
知道答主
回答量:20
采纳率:0%
帮助的人:0
展开全部
它是个判断加赋值的语句。
若p1==&m值为真,a=1,反之a=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xushiladeng
2011-06-02 · TA获得超过101个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:101万
展开全部
这句话可以这样表达,更加清晰
if(p1 == &m)
{
a = 1;
}
else
{
a = 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式