c语言里,1/2是不是默认等于零啊,1.0/2.0才等于0.5?

c语言里,1/2是不是默认等于零啊,1.0/2.0才等于0.5?

要看你这个值赋给哪种数据类型

int i=1/2,j=1.0/2.0;
float a=1/2,b=1.0/2.0;
//i,j值为0,a,b值为0.5

 

这个跟类型是有关系的。对于int来说只有整数没有小数,所以1/2, 1.0/2.0就只取整数部分就是0

对于float或double来说就是1/2或1.0/2.0或者0.5来说可能是0.49999999999...