文号
t49317
阅读
26717
回复
55
收藏
8
C++小白问个自增自减的问题
2012/08/07
IP:陕西
#include <iostream.h>
void main()
{
int a,b;
a=3;
b=(a++)+(++a)+(a++);
cout << b << endl;
cout << a << endl;
}

输出了12  6
可是……我怎么觉得应该是13 6呢?
求个详解……谢了 未命名.jpg
未命名1.jpg
dr.lc作者
14年5个月前IP:未同步
434939
1楼
验证了一下各项的值 DSC03444.jpg
未命名.jpg
未命名1.jpg
引用
评论
dr.lc作者
14年5个月前IP:未同步
434941
3楼
第一个(a++)等于3,这个我能理解
第二个(++a)等于5,这个我也能理解
但是……第三个(a++)等于4,这个是什么原理啊?
引用
评论
dr.lc作者
14年5个月前IP:未同步
434942
4楼
回 2楼(pl_014) 的帖子
我表示我还在学习中……问一下……像这种东西有什么用啊?
要换成别的表达式,怎么搞呢?
引用
评论
dr.lc作者
14年5个月前IP:未同步
434954
6楼
回 5楼(pl_014) 的帖子
看的是C++ primer
还挺不错的……至少能看懂……
解释一下前自增和后自增吧吧……想了好久都不明白……
引用
评论
dr.lc作者
14年5个月前IP:未同步
434966
8楼
回 7楼(pl_014) 的帖子
就是说:
经过k=a++运算之后,输出的k=原来的a,a=原来的a+1
经过k=++a运算之后,输出的k=原来的a+1,a=原来的a+1
对吧……

那这么说的话……我原来觉得应该输出13 6 是对的!
引用
评论
dr.lc作者
14年5个月前IP:未同步
434991
10楼
回 9楼(phpskycn) 的帖子
so……这么说的话……a++和++a没有区别啊……
引用
评论
dr.lc作者
14年5个月前IP:未同步
435009
13楼
回 12楼(pl_014) 的帖子
了然……了然……
多谢了!
引用
评论
dr.lc作者
14年5个月前IP:未同步
435013
15楼
回 14楼(pl_014) 的帖子
完全看不懂这个代码……
求人类语言解释……
引用
评论
dr.lc作者
14年5个月前IP:未同步
435027
19楼
回 17楼(pl_014) 的帖子
其实……我只是为了打发暑假的无聊时光……才学C++的……
一暑假能学成个半吊子,我就很满足了……
引用
评论
dr.lc作者
14年5个月前IP:未同步
435589
45楼
不对不对……怎么水得我都跟不上了……
+10
科创币
acmilan
2012/08/09
长知识了
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的