只是解释为什么发生这种情况在第2行:为什么变量在相同语句中增加后返回先前的值?
int i=5;
printf(" Before %d then operated %d and after %d", i, ++i, i); // Before 6 then operated 6 and after 5
printf("\n And now %d", i); //And now 6
据我所学到的,结果应该是前5然后运行6和6后,我无法得到解释从谁我正在学习..我是一个新手到C
在Borland的C++ 5和代码块测试...
可能重复[?为什么这些结构未定义行为(http://stackoverflow.com/questions/949433/why-are-these-constructs- undefined-behavior) – haccks
@haack这绝对不是该帖子的重复。 OP不会修改单个序列点中的相同变量。 –
@haccks可以找到一种方法来搜索任何人之前发布的这个问题,因为我不知道如何描述它,除非显示...谢谢 –