黑马程序员技术交流社区

标题: ++a与a++的区别分享~ [打印本页]

作者: yyyyyyyyqs    时间: 2015-6-28 23:17
标题: ++a与a++的区别分享~
运算的顺序就是看“++”在什么位置。如果++在前,就是先加1再计算,
如果是“++”在后则是先计算,再加1。
练习:
int b; int a = 5; b = (++a) + (a++); printf("b=%d, a=%d\n", b, a);
答案:
本题考的是“++a”和“a++”的区别
++a是先加算  然后再参与计算  此处:(++a)= 6
a++先计算后加算,由于刚才刚执行了“++a”所以此时 a = 6,(a++)=6
所以 b = (++a)+(a++)
    b =    6   +  6       b等于12
a经过2次++运算此时的值是7
作者: 18678927239    时间: 2015-6-29 22:24
++a 是先变后用 a++ 是先用后变
作者: timehzy    时间: 2015-6-29 23:49
这个问题自己以前学都是模模糊糊,但是视频里面大师讲的非常清楚。a++和++a都是表达式,a++这个表达式的值是a,执行之后a的值+1;++a这个表达式的值是a+1,执行之后a的值+1
作者: lipeng524824    时间: 2015-6-30 00:11
先加加就是先加再用 后加加就是先用再加 最后结果都是加1了
作者: zhanghao2744491    时间: 2015-6-30 01:27
先吃饭再学,学会再吃
作者: heyuze    时间: 2015-6-30 05:13
先赋值后运算 与 先运算后赋值
作者: lucky0512    时间: 2015-6-30 09:40
++a就是先+1赋给a,所以a的值变了,a++就是a的值不变,个人认为就是按顺序运算的,这样记也不会搞错。
作者: cuin    时间: 2015-6-30 15:40
++a是先加后执行,a++是先执行再加,a++当你运行到下一行的时候,a才会+1
作者: peng_gavin    时间: 2015-7-1 08:58
++a是先加1再使用a的值,而a++是先使用a的值,然后再加1,不管怎样a的值总是被加了1
作者: wanglz888168    时间: 2015-7-1 10:52
++a是先加再用,a++是先用再加




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2