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

有点不理解例题,

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

正在回答

3 回答

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

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

dw1958 提问者

非常感谢,现在懂了
2015-11-29 回复 有任何疑惑可以回复我~

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

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

onemoo

a的初值为100,但并不是一直为100,它的值随后面自增自减运算变化.
2015-11-28 回复 有任何疑惑可以回复我~

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。

0 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

有点不理解例题,

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