为什么两个1/a的值不一样?

#include "stdio.h"
int main( )
{
int a,b;
a=2;
b=1%a;
printf("%d\n",1/a);
printf("b=%d\n",b);
printf("%f %f\n",(float)(1/a), (float)1/a);
return 0;
}

哈喽,
(float)(1/a)是先运算1/a,这个时候左右俩边都是int,结果=0,然后再转浮点数还是0。
(float)1/a)是把1转成浮点数,再除a,有一个是浮点数,结果就是浮点数,所以是0.5。
有用请点采纳哦~