c语言中1除以2为什么等于0

2024-11-22 22:11:05
推荐回答(1个)
回答(1):

因为1默认的是int型的常量,所以1/2的输出结果为了与被除数一致就输出0(0.5进行int类型转换后就变成了0)


这里需要注意的就是C语言除法中,结果的数据类型是会转换成被除数的数据类型的。

比如:

int a = 4;
int b = 3;
float d = 5;
int c = a/b;    // 变量c的结果就是1,本来4/3=1.333(为了与被除数a的类型一致,所以取了整数部分,舍去小数部分)
float e = d/a;   // e的值就是1.25,因为d是float类型的