黑马程序员技术交流社区

标题: 自增,自减 [打印本页]

作者: yqzh    时间: 2015-8-8 05:47
标题: 自增,自减
代码:

  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,取值)


作者: 294250051    时间: 2015-8-8 11:43
。。。。。。。。。。。。
作者: qq64694219    时间: 2015-8-8 13:42
你这样写会让一部分人迷糊的。a=a++  先执行赋值 再执行自加
a=++a 先执行 自加 再赋值,
说到底这是和编译器的原理有关系的
还有运算符的优先级
作者: 1312878967    时间: 2015-8-8 19:29
继续加油吧 努力 努力 努力!!!!
作者: 用晦而明    时间: 2015-8-8 19:32
学习了!非常感谢
作者: fersh    时间: 2015-8-8 21:29
继续努力吧!加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2