关于C语言的除法

来源:百度知道 编辑:UC知道 时间:2024/06/19 08:35:02
关于C语言的除法
int a,b;
float c;
c=a/b;
结果是c=1.000000

float a,b,c;
c=a/b;
结果是c=1.666667
为什么会这样?

首先=号是赋值的意思,把后面赋给前面.

上边那个a、b都是整型变量,所以用a/b的结果是整型,然后再执行赋值语句。
所以c的值就是一个1.000000

下面的a、b都是浮点型,a/b的结果也是浮点型,所以再赋给c也是浮点型。

一楼的正解~~~~
a、b都是整型变量,所以用a/b的结果是整型,小数部分被截断.
赋值后因为C为实型,所以被强制转化为实型.即(整数部分.000000)

如果a、b、C为实型,a/b的结果没有被截断.即(整数部分.小数部分)

上面的因为a,b都是整型的,所以a/b的结果也是整型的,而C语言中这种情况下a/b的结果只会默认取实际1.666667的整数部分1
对于下一种情况因为是浮点型的,所以结果当然会是浮点型的,也就是实际算的1.666667