大家好,欢迎来到IT知识分享网。
c语言相除为什么没有小数
有时候,使用C语言的相除运算符计算两个变量相除运算结果,可是却无法保留小数,比如3/2,打印输出是1,而不是1.5之类有小数的值。这是为什么呢?可能有两种原因,如下:
- 如上实例中的3/2,两个变量均为int或其它整型,相除得到的运算结果也为整型,要得到浮点数,可以将其中一个变量转换为浮点型;
- C语言中pirntf()函数打印输出浮点数使用的是%f占位符,而不是 %d;
下面将通过几个实例来验证这两种原因。
c语言相除得到小数实例代码
实例代码中,int除以int,即x除以y,并使用%f,得到的却是0.000000;int除以float,即x除以z,却使用%d,得到的却是0;int除以float,即x除以z,且使用%f,得到1.:
#include <stdio.h> int main() { int x = 3; int y = 2; float z = 2.0; printf("x / y= %f \n", x/y); printf("x / z= %d \n", x/z); printf("x / z= %f \n", x/z); return 0; }
原文(全栈开发助手):c语言 相除怎么得小数,两种可能原因
免责声明:内容仅供参考,不保证正确性。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/164830.html