#include <stdio.h>
int main()
{
int x=11;
int y=x++;
printf("%d,%d\n",(x++,y),y++);
return 0;
}
#include <stdio.h>
int main()
{
int x=11;
int y=x++; //先把x值赋给y,再把x+1,得到y=11,x=12
printf("%d,%d\n",(x++,y),y++);
/*(x++,y),y++
1步-->计算x++得x=13
2步-->计算(x+y)得y = 11
3步-->计算y++得y=12
最后结果是printf("%d,%d\n",y,y);x=13,y=12;其中printf里的y=11*/
return 0;
}
像,(逗号)的计算返回的都是最后的计算结果如a*b,c+d,e+f;返回的是e+f的值
像++自加运算是在每步运算之后再计算
如a+b++,a--,b++
计算时先计算a+b++ 再是 a-- 再是 b++
第一步计算后b+1
第二部计算后a-1
第三步是,逗号的返回值所以先计算,再b+1
改为: int w = (x++,y); 再输出, 你看看结果。
改为: int w = (x++,y); 再输出, 你看看结果。
x++先赋值后运算