wu还行吧 发表于 2021-1-5 11:46:13

求大佬用文字解释一下这个运算过程和结果

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,为什么?

sunrise085 发表于 2021-1-5 12:00:41

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]
查看完整版本: 求大佬用文字解释一下这个运算过程和结果