<分区>
考虑下面的代码:
#include <stdio.h>
int main()
{
int x=0,y=5;
printf("x=%d,x_1=%d,sum=%d",x++,x,y+x);
return 0;
}
我对这段代码的假设是,x 将打印为 0,稍后在后增量 x_1 将是 1,y+x 将是 5+1=6
实际结果是x如预期的那样为0,x_1如预期的那样为1。但是 y+x 是 5。我不确定为什么 x 保留了它以前的值,尽管发生了后增量。你能帮忙澄清一下吗? 我同样使用 gcc 编译器。