请教VC++关于自增自减的问题intx,y,k,zx5y5k(x++)+(x++)+(x++)z(++X)+(++X)+(++X)请问K?z?疑问
请教VC++关于自增自减的问题
int x,y,k,z;
x=5;
y=5;
k= (x++)+(x++)+(x++);
z= (++X)+(++X)+(++X);
请问K=?z=?
疑问其求解过程如何?
[解决办法]
C/C++标准明确说明的“未定义行为”。不要深究,绝对不要写这样的代码即可。
[解决办法]
不同的编译器有不同的实现,如果要实现统一的结果,这样改写:
int x,y,k,z;
x=5;
y=5;
k=0;
z=0;
k += x++;
k += x++;
k += x++;
z += ++x;
z += ++x;
z += ++x;
[解决办法]
编译器不同结果可能不同
不要写这样的代码
[解决办法]
不要深究。
