在c语言中,表达式5/3的结果是什么?

 我来答
亲爱的郡爱生活
高能答主

2021-11-13 · 生活小百科,百科达人!
亲爱的郡爱生活
采纳数:1581 获赞数:38977

向TA提问 私信TA
展开全部

5和3如果都是整形变量的话,那么结果就是1,因为‘/’是得到的结果是商。其实在写程序时,无论是%d还是%f,5/3都是等于1,无非是%f的话是1.0000。

编译环境为Dev-C++ TDM-GCC 4.9.2 64-bit。这个结果其实非常合理,C语言中,/是除法运算没错,但是5/3是两个整数相除,得到的结果也是一个整数,有点类似于一些语言当“整除”运算的概念。

那么要怎么样才能得到小数的结果呢?其实也很简单,按照整型类型数相除只能得到整型类型的结果来推测,基本可以得出结论:表达式中需要出现浮点数。至于浮点数做除数还是被除数都没有问题。如果是变量的话,可以先乘以1.0,然后再做除法运算,得到的结果也会是浮点数。



如果在整型表达式中 5 / 3 = 1,因为 int 数据类型会将小数点后面的指数部分直接截断。所以如果在需要精确到小数点的场景下,万万不可用整型数据类型。

而在浮点型表达式中 5 / 3 = 1.666667,因为浮点型(这里使用 float)他只保证小数点后6位的精确,并将最后一位四舍五入。所以如果要更加精确可以使用 double 或者是 long double。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式