c语言中,inta=3,b=2,c=1,为什么赋值语句a=b=c+1错误了?

 我来答
喜伶赫骊英
2020-08-14 · TA获得超过1161个赞
知道小有建树答主
回答量:1686
采纳率:100%
帮助的人:8万
展开全部
赋值语句没有错,错的应该是变量的说明语句:inta=3应该在变量与类型说明符间加空格以示区别:
int
a=3,b=2,c=1;
花逸百荣轩
2020-08-12 · TA获得超过2456个赞
知道小有建树答主
回答量:1676
采纳率:100%
帮助的人:8万
展开全部
首先“==”的优先性要小于“<”,所以表达式“a==b<c”中先计算“b<c”,这时条件为真,所以“b<c”=1,“a==b<c”变成“a==1”,条件成立,所以表达式的值为真。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
向轶勾飞燕
2020-07-28 · TA获得超过3575个赞
知道大有可为答主
回答量:3060
采纳率:28%
帮助的人:183万
展开全部
a=b=c+1的意思是,首先计算出c+1等于2,c的值不变,然后执行b
=
(c
+
1),b变成2,然后执行a
=
(b
=
(c
+
1)),a的值变成2。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斯璧完颜姿
2020-05-28 · TA获得超过1143个赞
知道小有建树答主
回答量:1648
采纳率:100%
帮助的人:7.8万
展开全部
没有错啊。
#include
int main()
{
int a=3, b=2, c=1;
a = b = c + 1;
printf("%d\n", a); // 输出:2
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式