求大佬用文字解释一下这个运算过程和结果
include<stdio.h>int main()
{
int a=7;
int x=2.5;
int y=4.7;
int sum=0;
sum=x+a%3*(int)(x+y)%2/4;
printf("sum=%d\n",sum);
return 0;
}
最后输出sum=2,为什么? sum=x+a%3*(int)(x+y)%2/4;
先看这几个变量,因为都是int类型,所以x为2,y为4,a为7
先乘除后加减,所以先算加号后面,a%3*(int)(x+y)%2/4
a%3=7%3=1,然后x+y=2+4=6,6对2求余为0,所以后面为0,
sum=x+0=2+0=2
页:
[1]