
C语言里“自加自减”问题
这几个题怎么做啊,我都快崩溃了,求解释!!!a=3,b=(a++)+(a++)答案:b=6a=5a=3,b=(++a)+(a++)答案:b=8a=5a=3,b=(a++)...
这几个题怎么做啊,我都快崩溃了,求解释!!!
a=3,b=(a++)+(a++) 答案:b=6 a=5
a=3,b=(++a)+(a++) 答案:b=8 a=5
a=3,b=(a++)+(++a) 答案:b=8 a=5
a=3,b=(++a)+(++a) 答案:b=10 a=5 展开
a=3,b=(a++)+(a++) 答案:b=6 a=5
a=3,b=(++a)+(a++) 答案:b=8 a=5
a=3,b=(a++)+(++a) 答案:b=8 a=5
a=3,b=(++a)+(++a) 答案:b=10 a=5 展开
10个回答
展开全部
第一个,因为a是在执行完语句之后才进行的自加、所以在完成这句
b=(a++)+(a++)之前,a一直是3,所以b的结果是3+3=6,执行完之后因为a进行了两次自加,所以a=5。
第二个。因为有++a,所以是前加,在执行这句语句之前就已经加了,所以a=4,所以b=4+4=8,后面还有a++,所以后面变成a=5。
第三个,同上第二个。
第四个。因为++a执行了两次,a=5,所以b=5+5=10,a依然是5
总结:
1,无论怎么变,无论a是前加还是后加,运行之后a必然加了两次,所以四个结果a都是5
2,b的结果主要看a是前加还是后加。
前加了,就要先算a,再算b,例如第二个。
后加的。就不用考虑a会影响b的值。例如第一个。
b=(a++)+(a++)之前,a一直是3,所以b的结果是3+3=6,执行完之后因为a进行了两次自加,所以a=5。
第二个。因为有++a,所以是前加,在执行这句语句之前就已经加了,所以a=4,所以b=4+4=8,后面还有a++,所以后面变成a=5。
第三个,同上第二个。
第四个。因为++a执行了两次,a=5,所以b=5+5=10,a依然是5
总结:
1,无论怎么变,无论a是前加还是后加,运行之后a必然加了两次,所以四个结果a都是5
2,b的结果主要看a是前加还是后加。
前加了,就要先算a,再算b,例如第二个。
后加的。就不用考虑a会影响b的值。例如第一个。
展开全部
a++是先加1再使用,++a是先加1再使用。
对于第一行,两个加数都是a++,所以都是先使用(先作加法运算)再加1,所以b=6,a=5。你可以理解为,先用a=3作加法运算,又两次加1。
对于第二行,一个加数是++a,一个加数是a++,所以,先加1再使用(即加法运算),再加1。
第三四行同理,弄清楚三个过程的顺序:加1,运算,加1。
希望你能理解…
对于第一行,两个加数都是a++,所以都是先使用(先作加法运算)再加1,所以b=6,a=5。你可以理解为,先用a=3作加法运算,又两次加1。
对于第二行,一个加数是++a,一个加数是a++,所以,先加1再使用(即加法运算),再加1。
第三四行同理,弄清楚三个过程的顺序:加1,运算,加1。
希望你能理解…
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把握两个原则:
a++ 先用再加
++a 先加再用
以第一个为例:
a=3, b=3+3. a = 3 + 1 , 再 +1 = 5
以此类推。
希望能帮到你
ps: 其实不用太在意这种东西。实际开发中谁也不会这么写,真写出这种代码的话离被开除也不远了 :)
不过如果是你的老师十分偏爱这种题目的话,我也没办法,只好帮你一起诅咒TA。。。
a++ 先用再加
++a 先加再用
以第一个为例:
a=3, b=3+3. a = 3 + 1 , 再 +1 = 5
以此类推。
希望能帮到你
ps: 其实不用太在意这种东西。实际开发中谁也不会这么写,真写出这种代码的话离被开除也不远了 :)
不过如果是你的老师十分偏爱这种题目的话,我也没办法,只好帮你一起诅咒TA。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么和你说吧,b = (a++)+(a++),你可以看成b = a + a,a = a + 1 + 1
b = (++a)+(a++),你可以看成a = a + 1 = 4,b = a + a = 4 + 4(这时候,a已经是4了,所以答案是8),a = a + 1 = 5
第三行同上
a = a + 1 = 4,a = a + 1 = 5,b = a + a = 10
能够明白么??不明白加我百度HI,我再给你细说。
如果满意请采纳,谢谢
b = (++a)+(a++),你可以看成a = a + 1 = 4,b = a + a = 4 + 4(这时候,a已经是4了,所以答案是8),a = a + 1 = 5
第三行同上
a = a + 1 = 4,a = a + 1 = 5,b = a + a = 10
能够明白么??不明白加我百度HI,我再给你细说。
如果满意请采纳,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
规则
1、 运算式是从右到左计算
2、注意运行的优先级
3、b = a++是先将a赋值给b,然后再对a进行自加
4、b = ++a是先对a进行自加,然后在把自加了之后的a赋值给b
1、 运算式是从右到左计算
2、注意运行的优先级
3、b = a++是先将a赋值给b,然后再对a进行自加
4、b = ++a是先对a进行自加,然后在把自加了之后的a赋值给b
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询