C语言两个数相除怎么得到浮点数

简介: 有些时候,使用C语言的相除运算符计算两个变量相除运算结果,可是却无法保留小数,比如3/2,打印输出是1,而不是1.5之类有小数的值。这是为什么呢?可能有两种原因,如下

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.500000:

#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语言 相除怎么得小数,两种可能原因

免责声明:内容仅供参考,不保证正确性。

相关文章
|
6天前
|
存储 C语言
C语言第二十九弹---浮点数在内存中的存储
C语言第二十九弹---浮点数在内存中的存储
|
6天前
|
编译器 C语言
C语言中整数如何自动转换为浮点数
C语言中整数如何自动转换为浮点数
105 0
|
6天前
|
存储 C语言
C语言中如何选择合适的方式将整数转换为浮点数
C语言中如何选择合适的方式将整数转换为浮点数
211 0
|
7月前
|
存储 C语言 C++
C语言之数据的存储2(浮点数在内存中如何存储,如何输出,查看不同类型数据在内存中表示的范围的方法,十进制浮点数转化为二进制的方法)
C语言之数据的存储2(浮点数在内存中如何存储,如何输出,查看不同类型数据在内存中表示的范围的方法,十进制浮点数转化为二进制的方法)
|
6天前
|
存储 编译器 C语言
C语言基础知识:数据在内存中的存储解析(整数,浮点数)
C语言基础知识:数据在内存中的存储解析(整数,浮点数)
|
6天前
|
C语言
C语言 浮点数 储存形式
C语言 浮点数 储存形式
6 0
|
6天前
|
存储 C语言
[C语言]数据在内存中的存储(浮点数篇)
[C语言]数据在内存中的存储(浮点数篇)
51 0
|
6月前
|
存储 C语言
C语言之浮点数_数据存储篇(2)
C语言之浮点数_数据存储篇(2)
52 0
|
9月前
|
存储 编译器 C语言
C语言深度剖析——bool类型,浮点数相等比较。
C语言深度剖析——bool类型,浮点数相等比较。
|
9月前
|
存储 算法 C语言
【C语言技能树】浮点数在内存中的存储
这里执行完的结果是啥呢?相信没看过相关内容前都各有各的答案,咱暂且按下不表. 接下来看看浮点数在内存中如何存储的
73 0