为了账号安全,请及时绑定邮箱和手机立即绑定

对题目及输出结果的疑惑

printf("%d\n",a--); 这一行的结果是不是写错了? 讲道理应该是100啊。。

正在回答

1 回答

首先要明白a++是执行后自增,++a是执行前自增。a--与--a道理一样。我们再按顺序看看:

a被赋值100了,第一条输出结果为100,输出后a的值已成为101。第二条输出前自增,故结果为102,第三条输出前自减,结果为101。此时a仍为101,第四条输出后才自减,故输出结果为101并没有错误。

4 回复 有任何疑惑可以回复我~
#1

旧时风染 提问者

非常感谢!
2017-02-02 回复 有任何疑惑可以回复我~
#2

大大大队长

为什么每次的取值是从上一个输出语句拿过来的而不是从刚开始的a=100
2017-02-25 回复 有任何疑惑可以回复我~
#3

DanaQC 回复 大大大队长

你的疑问让我无言以对。不过你应该是刚接触吧?没事,慢慢学,养成程序思维,C语言一般都是面相过程的。
2017-02-25 回复 有任何疑惑可以回复我~
#4

大大大队长 回复 DanaQC

大哥,我查了一下面向过程还是没懂,那个输出项算是赋值吗?
2017-02-27 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
C语言入门
  • 参与学习       924520    人
  • 解答问题       20762    个

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

进入课程

对题目及输出结果的疑惑

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信