请高手帮忙:C#与C++的一个问题?

lane3000 2008-07-10 03:20:52
对于下面代码:
int x=4;
x+=x++;
在C#/java与C++中执行出来的结果不一样?请高手帮忙分析一下为什么?
...全文
101 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
peng_weida 2008-07-10
  • 打赏
  • 举报
回复
没意思!
wufan110 2008-07-10
  • 打赏
  • 举报
回复
int x=4;
x+=x++; ==>x=x+(x++); C++
x+=x++; ==>x=x+x++;.net,java我想是这样的.
lane3000 2008-07-10
  • 打赏
  • 举报
回复
那能不能帮忙告知它们分别是如何理解的?thanks!
wufan110 2008-07-10
  • 打赏
  • 举报
回复
楼上已经说了

x += x++; 是很不好的编码方式。不同的编译器有不同的理解方式。
lane3000 2008-07-10
  • 打赏
  • 举报
回复
C++中执行结果是9,为什么在C#/java中得到x却是8呢?
gomoku 2008-07-10
  • 打赏
  • 举报
回复
x += x++; 是很不好的编码方式。不同的编译器有不同的理解方式。

把代码分开写,人容易理解,编译器也不会有歧义:


x++;
x += x;

hztltgg 2008-07-10
  • 打赏
  • 举报
回复
标准C没有定义执行次序,不同的编译器不同的编译方法而已,没什么好分析的,这样的程序风格根本就不应该出现,只有在一些傻乎乎的试题里才有

wufan110 2008-07-10
  • 打赏
  • 举报
回复
int x=4;
x+=x++; ==>x=x+(x++);
应该是九吧.

110,006

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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