一个简单的C加一问题,
void main(){
int i=2;
printf("%d\n%d\n%d\n",++i,i,++i);
}
上面运行结果是:4 3 3;(符合预期)
void main()
{
int i=2;
printf("%d\n%d\n%d\n",++i,i++,i);
}
这个运行结果是:3 2 2;(不符合预期,应该是:4 2 2)
我用的是VC6.0编译的,好像是从右往左计算;但第二个输出语句好像不对;
是不是说明在输出函数中,像i++这种的不会改变下一个i的值,
还有,在VS2005中:
void main()
{
int i=2;
printf("%d\n%d\n%d\n",++i,i++,i);
}
的运行结果是:4 2 4
谁能解释一下??