我是初手,我想问个你们看起来很白痴的问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:36:06
我用turboc2时,为何以下代码输出为0.000000,不是应该是0.750000吗?
main()
{int a=7;float x=2.5,b;float y=4.7;
b=a%3*(int)(x+y)%2/4;
printf("%f",b);
}
大家见笑了,我真菜,汗!麻烦大家了

b=a%3*(int)(x+y)%2/4;
首先运算的是x+y,得出结果等于7.2,然后(int)7.2强转成7
b=7%3*7%2/4
%是模运算,取余数,从左向右运算最后结果是0,因为是浮点型所以等于0.000000

汗颜