wangsong 发表于 2015-5-9 16:48
你可以这样来想:++a和a++,都是个表达式,最后的结果就取决于是先加,还是后加,如果是先加,那么最后的表 ...
wzboy 发表于 2015-5-9 16:53
b = 22 哪来的23? 视频上讲的很清楚噻
飞翔的猪 发表于 2015-5-9 16:54
结果不对把 ,b=(++a)+(a++) (++a) 是11 (a++) 取值为11 之后a为12 ,按照视频上的结果该为22, ...
QQ截图20150509170205.png (10.05 KB, 下载次数: 29)
wzboy 发表于 2015-5-9 16:59
结果就是22啊 你敲代码了没?把你的运行结果截个图看看
QQ截图20150509170205.png (10.05 KB, 下载次数: 35)
飞翔的猪 发表于 2015-5-9 17:04
这是运行结果 用的是DEV C++编译器
wzboy 发表于 2015-5-9 17:07
代码就是你刚才帖子上的?我用c-Free 和 Xcode 都是22 老师讲的也是22
你再换个编译器试试 ...
wzboy 发表于 2015-5-9 17:07
代码就是你刚才帖子上的?我用c-Free 和 Xcode 都是22 老师讲的也是22
你再换个编译器试试 ...
飞翔的猪 发表于 2015-5-9 16:54
结果不对把 ,b=(++a)+(a++) (++a) 是11 (a++) 取值为11 之后a为12 ,按照视频上的结果该为22, ...
wr6524798 发表于 2015-5-9 20:31
a++就是先运算然后再a+1;++a就是先a=a+1,然后再进行运算
int a=10;
int b=(++a)+(a++);
wangzhewjl 发表于 2015-5-10 08:23
你都用括号括起来了。括号优先 先把括号里面算完再进行加法;int b=(++a)+(a++);第一步先算(++a) 结果是 ...
xiaofei93 发表于 2015-5-10 07:53
int b=(++a)+(a++); = 11+11 = 22 ,++a之后括号内是11,a也是11;有a++的地方可以把a++直接换成a的值,因 ...
EEF4FF32-86B2-4000-AF7D-3BD4AD4B9EBC.png (47.39 KB, 下载次数: 49)
星空眼泪 发表于 2015-5-10 12:08
你错了吧,运行的结果明显是22,怎么可能是23呢?首先++a时先自增后运算,所以运算的时候应该是11,a++是先 ...
xiongmaoren518 发表于 2015-5-10 13:55
我也觉得应该是22呀,求大神指导
649678291 发表于 2015-5-10 10:28
应该是编译器问题
aq.png (145.24 KB, 下载次数: 33)
ba.png (36.76 KB, 下载次数: 32)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |