a应该是一个定值,那输出的结果应该是101,101,99,99,101,100,为什么例题的结果是100,102,101,101,101,100
请看这里我的回答 http://www.imooc.com/qadetail/83948
我表达有错误,不应该是a变为了多少多少,a一直是一个定值100。应该说自家自减之后结果分别变为了100,101,102,101,101,100。结合我上面说的,希望可以看懂,哈哈。
a++ 是执行完printf 再执行自加,所以第一个a++ printf为100;第一步执行完了之后a自加,变成了101;
++a是a自加之后printf,所以101自加1之后a=102输出;
同理,--a是printf之前a自减,所以a=102-1=101,然后printf a;
a--是在输出后自减1,所以此a还是为101 输出;
a--输出后a变为100,再执行a+1,此时a=101;
最后输出a为100。