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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yqzh 中级黑马   /  2015-8-8 05:47  /  489 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码:

  1. <p>#include <stdio.h></p><p>int main()</p><p>{</p><p>    int a = 100;</p><p>    printf("x=%d\n",a++);</p><p>    printf("x=%d\n",++a);</p><p>    printf("x=%d\n",a--);</p><p>    printf("x=%d\n",--a);</p><p>    return 0;</p><p>} </p>
复制代码
输出结果:x=100 x=102 x=102 x=100
原则:
++a,--a先运算后取值;a++,a--先取值后运算2.表达式执行完后计算结果保存

分析:
第一个输出:a=100,a++=100(a先取100,再加等于101),
第一个输出:++a=102(前面的a运算后为101,再运算后为102,取值)
第三个输出:a--=102(a先取102,再减等于101)
第四个输出:--a=100(前面的a运算后为101,再运算后为100,取值)

5 个回复

倒序浏览
。。。。。。。。。。。。
回复 使用道具 举报
你这样写会让一部分人迷糊的。a=a++  先执行赋值 再执行自加
a=++a 先执行 自加 再赋值,
说到底这是和编译器的原理有关系的
还有运算符的优先级
回复 使用道具 举报
继续加油吧 努力 努力 努力!!!!
回复 使用道具 举报
学习了!非常感谢
回复 使用道具 举报
继续努力吧!加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马