关于cout << 的输出问题

a369601152 2012-03-29 09:47:05
刚刚看了操作符的优先级和结合性
于是乎写了以下代码:
int i = 0;
cout << i++ << --i << ++i << i--;
输出结果是 -1000 编译环境VS2010
我想问的是为什么会是这个结果 大家看看我的分析哪里错了:
由于后置的++和--的优先级最高, 因此先算第一个和第四个, 并返回原值0, 这时的i= i + 1 - 1 = 0.
然后算--i和++i, 分别返回-1和0, 最后做<< , 因此输出的不应该是 0-100吗?
...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
帅得不敢出门 2012-03-29
  • 打赏
  • 举报
回复
又见序列点问题
a369601152 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
垃圾代码! http://topic.csdn.net/u/20110826/09/601ebe9c-c2ae-4d63-a4e2-506c618bb654.html?53640看链接
[/Quote]
恩, 看完有种莫名的感动, 谢谢了。

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧