c语言写5除于2

 我来答
通安易速璧
2019-08-26 · TA获得超过3万个赞
知道大有可为答主
回答量:1万
采纳率:28%
帮助的人:885万
展开全部
5和2都是整数,编译器会把5/2当作5整除2,商是整数,结果为2。
a=5/2;这行可以改成下面任意一种形式,就能输出正确结果了:
a=5f/2;
a=5/2f;
a=5f/2f;
f或者F是浮点数(float)常量后缀,5f是一个浮点型常量,和整型常量5是不同的概念。
只要除数或被除数中有一个是浮点数,那么“/”会被理解为浮点数除法,结果也是浮点数。
另外,写成
a=5.0/2;
a=5/2.0;
a=5.0/2.0;
a=5d/2;
a=5/2d;
a=5.0/2f;
a=5f/2.0;
a=5.0f/2d;
……
之类结果也是一样的,d或D是双精度浮点数(double)常量后缀。5.0之类的写法和后缀d表示相同。不过由于double比flo钉丹齿柑佼纺酬尸揣建at精度高,有double参与除法时结果为double类型,赋值给float
a时double自动转换为float型会损失精度,编译器可能会给出警告。
也可以利用显式强制类型转换:
a=(float)5/2;
a=5/(float)2;
a=(float)5/(float)2;
(float)是强制类型转换运算符,表示强制转换后续运算数为float类型。强制类型转换运算符的优先级高于算术运算符“/”,所以进行除法运算的是经过强制类型转换后的数(float型),而不再是两个整数。因为强制类型转换生成了临时对象,效率比直接常量表示要低。
另外,注意完整的程序应该包括#include
,这里用到getch(),还要#include

至于a/2,由于a是float型的,那么作浮点数除法,也能得到正确的结果。
----
[原创回答团]
参考资料:原创
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式