--a和a--的疑问

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

桃子saitao

2015-04-23 14:42

按照a--先赋值再运算的原理,a先赋值是取a=100然后再减1得到的应该是99

而--a则是先自减1后再取值,a也应该是100-1=99在将99赋值给a。

可是答案为什么都是101?

a的值会传递吗?是不是应为上一步中++a的值是102所以--a取值时a的值是102所以a在自减1以后取值为101,而a--是先取值再运算,所以a--取值也为上一步中的101呢?

能不能有哪位给小白详细说明下

写回答 关注

1回答

  • 康振宁
    2015-04-23 16:02:44

    这个就要涉及,先赋值还是先运算了,--a是先运算在赋值,a--是先赋值后运算,运算顺序如下

    a初始值为100

    第一次输出是a++,结果为100,而现在a的值为101

    第二次输出是++a,结果为102,a的值也为102

    第三次输出是--a,结果为101,a的值也为101

    第四次输出是a--,结果为101,而现在a的值为100

    第五次输出是a+1,结果为101,而现在a的值为100

    最后输出是a,结果当然是100啦


C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题