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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zx413331474 中级黑马   /  2014-12-24 20:21  /  1245 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这两个有什么区别啊

8 个回复

倒序浏览
一个是先加后再运算,另一个是先运算后加
回复 使用道具 举报
:L:L:L:L:L:L:L:L:L
回复 使用道具 举报
初始化int x = 0;分析两个结果?
回复 使用道具 举报
x++;
返回x,然后 x += 1;
!x++;
等价于!(x++);,返回x,值为0,!0 = 1,x+=1, x值最后变为1。
回复 使用道具 举报
x++;
返回x,然后 x += 1;
你的思路x++后返回x的值为x = 1;不是x + = 1吧,x + = 1后,x = 2;
!x++;
等价于!(x++);,返回x,值为0,!0 = 1,x+=1, x值最后变为1。
等价于!(x++);返回x,因为x为0,所以!x即为1,再x+=1不就等于2了?想不通啊
回复 使用道具 举报
1.     b=a++;   //  是  先把a赋值给b  即b=a; 然后再执行 a=a+1;
2.     b=++a;    //   是 先a=a+1;然后b=a;
回复 使用道具 举报
zx413331474 发表于 2014-12-24 22:25
初始化int x = 0;分析两个结果?

你得看  x++或者  ++x  前面是不是还有运算符  ;如果只是单纯的 x++ 或者++x   每执行一次就是自增1;
如果前面有的话例如  b=x++;  运行的结果则是b=0;x=1;  而b=++x;  运行的结果则是 b=1;x=1.   明白了吗?
回复 使用道具 举报
我问的是x++和!x++的区别,不是x++和++x的区别!
int x = 0;
int y = 0;
y = !x++;
x = x++;
printf(“%d,%d”,x, y);
分析结果
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马