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

自增,自减

printf("%d\n",a++);
printf("%d\n",++a);

是不是第一步运行完以后,取值就已经加一了,之后第二步又加了一个一?

正在回答

2 回答

第一步a++是先使用a的值后加一;

第二步是在第一步加一的基础上先加一后使用;

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

qq_卡可酷_0

为什么是从上一步结果顺承下来的啊?不应该还是从最开始的a=100开始嘛?
2015-12-24 回复 有任何疑惑可以回复我~
#2

qq_卡可酷_0

啊我明白了...谢谢....
2015-12-24 回复 有任何疑惑可以回复我~

第一个运行完了后已经加一了   是运行完了才加的1  也就是第一输出的时候a是没有加1的  例如 int a=1;

第一次输出的是1 第二次输出的是三  因为第二次 是先加了再输出的

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

青衿丶

如果a=1,那么 a=++a 不是1+1=2嘛, 为什么是3
2015-12-10 回复 有任何疑惑可以回复我~
#2

青衿丶 回复 青衿丶

说错了,不是a=++a 主要是想知道为什么++a会等3
2015-12-10 回复 有任何疑惑可以回复我~
#3

流浪_老 回复 青衿丶

如果a=1 在上一一步的a++ a在输出a等于1后 a就自增了 这时候的a已经是2了 在进行 ++a就是三了 没有第一步 仅仅 是 int a=1;a=++a 是等于二的
2015-12-10 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

自增,自减

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