#include
int main()
{
int x=2,y=3;
x*=y+4;
printf("%d, %d\n",x,y);
x/=y=5;
printf("%d, %d\n",x,y);
x-=y%2;
printf("%d, %d\n",x,y);
return 0;
}
#include
int main()
{
int x=2,y=3;
x*=y+4;
printf("%d, %d\n",x,y);
x/=y=5;
printf("%d, %d\n",x,y);
x-=y%2;
printf("%d, %d\n",x,y);
return 0;
}
初始值x=2,y=3
x*=y+4即x=x*(y+4)
所以x=2*(3+4)=14
输出14,3(因为输出格式里有逗号所以必须输出逗号)
因x被赋值为14,y值不变,所以此时x=14,y=3
x/=y=5即x=x/(y=5) 优先算括号内,所以y被赋值为5
即x=14/5=2 除法不四舍五入
输出2,5 格式为十进制输出所以没有小数点
此时x=2,y=5
x-=y%2 即 x=x-(y%2)(取余运算)
所以x=2-5%2=2-1=1
输出1,5