A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yyyyyyyyqs 中级黑马   /  2015-6-28 23:17  /  1284 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

运算的顺序就是看“++”在什么位置。如果++在前,就是先加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

9 个回复

正序浏览
++a是先加再用,a++是先用再加
回复 使用道具 举报
++a是先加1再使用a的值,而a++是先使用a的值,然后再加1,不管怎样a的值总是被加了1
回复 使用道具 举报
cuin 中级黑马 2015-6-30 15:40:02
7#
++a是先加后执行,a++是先执行再加,a++当你运行到下一行的时候,a才会+1
回复 使用道具 举报
++a就是先+1赋给a,所以a的值变了,a++就是a的值不变,个人认为就是按顺序运算的,这样记也不会搞错。
回复 使用道具 举报
先赋值后运算 与 先运算后赋值
回复 使用道具 举报
先吃饭再学,学会再吃
回复 使用道具 举报
lipeng524824 来自手机 中级黑马 2015-6-30 00:11:05
藤椅
先加加就是先加再用 后加加就是先用再加 最后结果都是加1了
回复 使用道具 举报
这个问题自己以前学都是模模糊糊,但是视频里面大师讲的非常清楚。a++和++a都是表达式,a++这个表达式的值是a,执行之后a的值+1;++a这个表达式的值是a+1,执行之后a的值+1
回复 使用道具 举报
++a 是先变后用 a++ 是先用后变
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马