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

© 黑白世界 中级黑马   /  2015-9-21 13:14  /  3508 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有一下C语言代码:
int a = 2;
int b;
b = (++a)+(++a);
printf("b=%d",b);
运行结果是多少?


20 个回复

倒序浏览
陆露 发表于 2015-9-21 13:29
b7
确定题目没打错? 记得基础测试题的时候 不是这样的
b = (++a)+(a++);

嗯哪,没有打错,确实是两边++a;++的运算级高于+的晕眩级别。两次的++运算,a=4,b=4+4=8
所以结果是b=8。
至于b=(++a)+(a++)
这样的提在网上一直有争议,又说7的有说8的。还有说6的。编译器不同,计算机关也不一样。在code block里是7,在xcode中是6
回复 使用道具 举报
所以就说这事一道无聊的题目了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马