C语言中 a=b==c怎么理解

假如inta=1,b=2,c=3,a=b=c,a=b==c,a==(b=c),a==(b==c),它们的值是多少?应该怎么理解?... 假如 int a=1,b=2,c=3, a=b=c,a=b==c,a==(b=c),a==(b==c),它们的值是多少?应该怎么理解? 展开
 我来答
小星星教育知识分享
高粉答主

2019-11-25 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67136

向TA提问 私信TA
展开全部

“=”是赋值符,把c的值赋给b赋给a,最后a、b、c的值都相等,“==”是判断符;

=赋值==等于运算说a=b=c,表达式运行a值赋给b、c运行完abc值相等;

a=b==c,复合表达式先a值赋给b与c比较相等则返0,否则返非零值;

运算b==c,若b与c相等,那么得出的值为1。

扩展资料

c语言中a=b--<=a||ab!=c的计算

左边:(a=b--)<=a;

计算b--的值,b--的值为2,得到这个值也就让b的值变成了1,赋值给a后a的值为2,(a=b--)的值也就是a的值为2,2<=2成立,所以左边为真;

右边:(a+b)!=c,a+b的值为3,c的值为3,所以右边为假真||假的结果为真;

b--使b的值变成了1;

a=b--的赋值使a的值变成了2;


yzviolet
推荐于2017-04-23 · TA获得超过2578个赞
知道大有可为答主
回答量:1196
采纳率:0%
帮助的人:1001万
展开全部
int a = 1, b = 2, c = 3;
a = b = c 意思是将 c 的值赋给 b,再赋给 a,a,b,c 都等于3。
a = b == c, = 的优先级低于 ==,会先判断 b == c 结果为假,就是0值,然后将0值赋给 a,也就是执行后,a = 0, b = 2, c = 3。
a == (b=c),会先讲 c 值赋给 b, 然后判断 a 是否等于 b,表达式得到一个0值(a不等于b),但该判断不会影响 a 的值,结果 a = 1, b = 3, c = 3。
a == (b == c) 会先判断 b是否等于c,结果为0,再判断 a 是否等于 0,结果也是0。但该判断不影响a,b,c的值。还是 a = 1, b = 2, c = 3.
更多追问追答
追问
那请问printf("%d",a=b==c);应该输出多少?
追答
输出0,实质上是输出 a 的值。赋值表达式最后会返回最后被赋值的那个值。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安徽新华电脑9
2018-08-26 · TA获得超过6964个赞
知道小有建树答主
回答量:3154
采纳率:100%
帮助的人:73.3万
展开全部
涉及到一个谁先把值赋给谁的区别。其他没啥区别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式