c语言中,整型除整型得到浮点型,赋给整型变量,要强制转换吗?

另外可不可以直接赋给浮点型变量呢?

整型除以整型是取整除,得不到浮点型数据。比如int a=4,b=5则a/b=0,要想得到a/b=0.8必须把其中之一强制为float型,如(float)a/b=0.8或a/(float)b=0.8。把整型数直接赋给浮点型变量要告警,不算大错……
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-02
举例:
int a=3,b=5;
double c=0;
c=a/b; //此时c=3/5=0;
c=a/(double)b; 此时c=3/5.0=0.6;

说明:
整型除整型 只能得到整形,需要强制转换成浮点
当 除数或被除数有浮点时,自动转换成浮点本回答被提问者采纳
第2个回答  2012-01-02
可以赋值!!
但是要注意:整型除整型 只能得到整形!比如,3/6=0,你赋值给一个浮点也是0,不会是0.5
第3个回答  2019-04-28
如果直接(long)x
相当于是取整的运算。
只有
+0.5以后才是真正意义上的四舍五入。
比如
原来是
5.1—(5.1+0.5)取整=5
原来是
5.6—(5.6+0.5)取整=6
原来是
-5.1—(5.1-0.5)取整=-5
原来是
-5.6—(5.6-0.5)取整=-6
这样才是四舍五入
第4个回答  2012-01-02
如果希望得到浮点型值,那么需要强制转换
相似回答