c语言中,a=2,m=(++a)+ (++a)+(++a),为什麽等于13,费解,哪位大神给解释一下。
17个回答
展开全部
你好,应该是等于15,a的值为5,等价于执行如下四个语句:
1.a=a+1;(a=2+1=3)
2.a=a+1;(a=3+1=4)
3.a=a+1;(a=4+1=5)
4.m=a+a+a;(m=5+5+5=15)
即先进行三个自加 ,然后再相加赋值。
1.a=a+1;(a=2+1=3)
2.a=a+1;(a=3+1=4)
3.a=a+1;(a=4+1=5)
4.m=a+a+a;(m=5+5+5=15)
即先进行三个自加 ,然后再相加赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个 + 左右2个操作数,计算过以后a=4; 8 + (++a);
第二个 + 右边操作数后,a = 5, 8+5 = 13;
第二个 + 右边操作数后,a = 5, 8+5 = 13;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不同的编译器不同的结果,我的编译器等于15.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是弄错了,你把整个程序发上来看看3+4+5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也很费解
明明是
m = (3)+ (4)+ (5)= 13
a = 5
明明是
m = (3)+ (4)+ (5)= 13
a = 5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询