
已知int,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,变量i的值怎么算
4个回答
展开全部
确实I的值为4.
这道题要弄明白,首先要知道(a = 3, a ++, -- a, a + 4, a + 5, ++a)括号内是逗号表达式,该表达式的值是最后一项的值,也就是++a的值,而且逗号表达式的运算顺序是从左到右。
这里我们来算一下:首先a = 3,即为a初始化,值为3;接下来a ++,a自加,则a由3变成4,遇到-- a,a自减,则a由4变成3,然后a+4=7,a+5=8,记住此时a的值不变,都是3,最后遇到++a,a进行自加,就由3变成4。这是a最后的值,也是该逗号表达式的值。所以I的值就为4。希望我说的你能明白。这种类型的题,要耐着性子,跟着题目慢慢算。
这道题要弄明白,首先要知道(a = 3, a ++, -- a, a + 4, a + 5, ++a)括号内是逗号表达式,该表达式的值是最后一项的值,也就是++a的值,而且逗号表达式的运算顺序是从左到右。
这里我们来算一下:首先a = 3,即为a初始化,值为3;接下来a ++,a自加,则a由3变成4,遇到-- a,a自减,则a由4变成3,然后a+4=7,a+5=8,记住此时a的值不变,都是3,最后遇到++a,a进行自加,就由3变成4。这是a最后的值,也是该逗号表达式的值。所以I的值就为4。希望我说的你能明白。这种类型的题,要耐着性子,跟着题目慢慢算。
展开全部
a+4,
a+5只是计算这两个的值,并不改变a的值,最终i还是等于++a的值。
如果是a+=4,
a+=5,那么值就有变化了。
a+5只是计算这两个的值,并不改变a的值,最终i还是等于++a的值。
如果是a+=4,
a+=5,那么值就有变化了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
恩
从左到右依次计算
a=3
a++完成后a=4,--a后a=3,a+4与a+5是迷惑人的,他们吧是给a赋值的,到最后执行++a,a=4这样就完成了!
从左到右依次计算
a=3
a++完成后a=4,--a后a=3,a+4与a+5是迷惑人的,他们吧是给a赋值的,到最后执行++a,a=4这样就完成了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逗号表达式,其值为最后一表达式的值,也就是++a值,即i=++a;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询