王凯唱的歌:为什么x=2.5,a=7,y=4.7; s= a%3*(int)(x+y)%2/4;最后结果是0

来源:百度文库 编辑:高考问答 时间:2024/05/05 17:39:05
在C语言中为什么
x=2.5,a=7,y=4.7;
s= a%3*(int)(x+y)%2;
最后结果s=0

int(x+y)=int(7.2)=7;
7%2=1;
1/4=0 (/在C里面是整除,如果被除数和整数都是整数,商也取整数)

x=2.5,a=7,y=4.7
所以,
s = a % 3 * (int)(x+y) % 2 / 4
= 7 % 3 * (int)(2.5+4.7) % 2 / 4
= 1 * (int)(7.2) % 2 / 4
= 1 * 7 % 2 / 4
= 7 % 2 / 4
= 1 / 4
= 0

*和%平级,从左向右结合,%是取余
7%3=4 4*7=28 28%2=0

要看你怎么去定义!