有点不理解例题,

来源:3-3 自增与自减运算符

dw1958

2015-11-28 10:40

a应该是一个定值,那输出的结果应该是101,101,99,99,101,100,为什么例题的结果是100,102,101,101,101,100

写回答 关注

3回答

  • onemoo
    2015-11-28 22:50:03

    请看这里我的回答 http://www.imooc.com/qadetail/83948

    dw1958

    非常感谢,现在懂了

    2015-11-29 21:44:35

    共 1 条回复 >

  • 半暖微凉
    2015-11-28 19:49:36

    我表达有错误,不应该是a变为了多少多少,a一直是一个定值100。应该说自家自减之后结果分别变为了100,101,102,101,101,100。结合我上面说的,希望可以看懂,哈哈。

    onemoo

    a的初值为100,但并不是一直为100,它的值随后面自增自减运算变化.

    2015-11-28 22:51:29

    共 1 条回复 >

  • 半暖微凉
    2015-11-28 19:44:13

    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。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题