2012-01-13 29 views
1

我想知道下面的表达式是否已经在C++中定义了行为(总是等于“a=n/(n+1); ++n;”)?定义了“a =(b + n)/ ++ n”的行为吗?

a=n/++n; 
+1

除非这是为了学术目的,否则你为什么要写一些难以理解或模糊的东西来理解? – ereOn 2012-01-13 08:49:04

+0

请参阅[未定义的行为和顺序点](http://stackoverflow.com/questions/4176328/)。 – outis 2012-01-13 08:55:08

+0

投票重新开放以关闭@outis的链接问题。 – Xeo 2012-01-13 10:20:04

回答

3

这是未定义的。如果没有中间顺序点或使用单个访问/修改操作符,则不能同时修改和访问变量。