a=p==&m什么意思?
inta,b,k=4,m=6,*p=&k,*q=&m;a=p==&m;b=(-*p)/(*q)+7;cout<<a<<b<<endl;...
int a,b,k=4,m=6,*p=&k,*q=&m;
a=p==&m;
b=(-*p)/(*q)+7;
cout<<a<<b<<endl; 展开
a=p==&m;
b=(-*p)/(*q)+7;
cout<<a<<b<<endl; 展开
2010-01-27
展开全部
a=p==&m;
由于==的优先级高于=,所以等价于:
a=(p==&m);
意为,判断p是否等于&m,并将判断的结果保存到a中
由于==的优先级高于=,所以等价于:
a=(p==&m);
意为,判断p是否等于&m,并将判断的结果保存到a中
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p,q为int指针,表达式p==&m的值为假,所以a赋值0;
(-*p)/(*q)+7的值为-4/6+7结果为7,因为-4/6的结果为0,所以输出结果应该是:
0 7
(-*p)/(*q)+7的值为-4/6+7结果为7,因为-4/6的结果为0,所以输出结果应该是:
0 7
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议你看一下C语言的运算符优先级
因为 == 的优先级高于赋值运算符 = ,
所以 a=p==&m 等价于 a = (p==&m) 而 C语言中 ==、!= 这类比较运算符返回的是 0,1值,所以,a = (p==&m)的结果是将a 赋值为0。
因为 == 的优先级高于赋值运算符 = ,
所以 a=p==&m 等价于 a = (p==&m) 而 C语言中 ==、!= 这类比较运算符返回的是 0,1值,所以,a = (p==&m)的结果是将a 赋值为0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询