a=3;关于b=(++a)+(++a)+(++a),vc运行为什么b=16??

qq_34111136 2016-03-12 01:04:16
如题目。为什么是这样的啊
...全文
396 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lin5161678 2016-04-12
  • 打赏
  • 举报
回复
引用 11 楼 FrankHB1989 的回复:
为什么这里的人问这种智障题目会这么熟练啊……
我倒觉得 这里的人 回答这种问题 这么熟练 也是挺赏心悦目的 哈哈哈
FrankHB1989 2016-04-12
  • 打赏
  • 举报
回复
为什么这里的人问这种智障题目会这么熟练啊……
szn_409 2016-04-09
  • 打赏
  • 举报
回复
未定义行为,请不要使用
qq_33887686 2016-03-14
  • 打赏
  • 举报
回复
这条语句是未定义的语句,c++标准中没有这样的语句,简单的说这是个错误的语句。
galiniur0u 2016-03-14
  • 打赏
  • 举报
回复
又有人问这种问题....前几天刚有个人问完。完全没有结果的事总经常有人喜欢讨论。
老许要老婆么 2016-03-14
  • 打赏
  • 举报
回复
介个东西吧!IDE不同 操作系统不同都能算出不一样的结果
赵4老师 2016-03-14
  • 打赏
  • 举报
回复
WarnRay 2016-03-13
  • 打赏
  • 举报
回复
好像C/C++对这个没有明确规定,结果应该不确定,与编译器有关
pujitan978 2016-03-13
  • 打赏
  • 举报
回复
这是未定义行为,结果完全取决于编绎器。别人也问过了。要么把三个操作数都算出来,再计算和;要么先计算前两个操作数,计算其和,再计算第三个操作数。
apple_v1 2016-03-12
  • 打赏
  • 举报
回复
这是未定义行为,结果完全取决于编绎器。别人也问过了。要么把三个操作数都算出来,再计算和;要么先计算前两个操作数,计算其和,再计算第三个操作数。
paschen 2016-03-12
  • 打赏
  • 举报
回复
这种行为不确定 关于C,C++表达式求值顺序 http://bbs.csdn.net/topics/370153775
relaxisland 2016-03-12
  • 打赏
  • 举报
回复
这种题目没啥意思,各个编译器实现不一样,可能结果不一样。 具体看下面这个帖子, 写的很好 http://bbs.csdn.net/topics/370153775 我的编译器vs2012 结果是18 他生成的汇编代码 mov eax, DWORD PTR _a$[ebp] add eax, 1 mov DWORD PTR _a$[ebp], eax mov ecx, DWORD PTR _a$[ebp] add ecx, 1 mov DWORD PTR _a$[ebp], ecx mov edx, DWORD PTR _a$[ebp] add edx, 1 mov DWORD PTR _a$[ebp], edx ----------------------------------------------------------------》 这里一口气 进行了3次 ++a mov eax, DWORD PTR _a$[ebp] add eax, DWORD PTR _a$[ebp] add eax, DWORD PTR _a$[ebp] mov DWORD PTR _b$[ebp], eax

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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