c语言中,inta=3,b=2,c=1,为什么赋值语句a=b=c+1错误了?
4个回答
展开全部
首先“==”的优先性要小于“<”,所以表达式“a==b<c”中先计算“b<c”,这时条件为真,所以“b<c”=1,“a==b<c”变成“a==1”,条件成立,所以表达式的值为真。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=b=c+1的意思是,首先计算出c+1等于2,c的值不变,然后执行b
=
(c
+
1),b变成2,然后执行a
=
(b
=
(c
+
1)),a的值变成2。
=
(c
+
1),b变成2,然后执行a
=
(b
=
(c
+
1)),a的值变成2。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有错啊。
#include
int main()
{
int a=3, b=2, c=1;
a = b = c + 1;
printf("%d\n", a); // 输出:2
return 0;
}
#include
int main()
{
int a=3, b=2, c=1;
a = b = c + 1;
printf("%d\n", a); // 输出:2
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询