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

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

相关文章
|
7月前
|
存储 C语言
C语言第二十九弹---浮点数在内存中的存储
C语言第二十九弹---浮点数在内存中的存储
|
7月前
|
编译器 C语言
C语言中整数如何自动转换为浮点数
C语言中整数如何自动转换为浮点数
448 0
|
7月前
|
存储 C语言
C语言中如何选择合适的方式将整数转换为浮点数
C语言中如何选择合适的方式将整数转换为浮点数
1694 0
|
2月前
|
存储 C语言
C语言中的浮点数存储:深入探讨
C语言中的浮点数存储:深入探讨
|
存储 C语言 C++
C语言之数据的存储2(浮点数在内存中如何存储,如何输出,查看不同类型数据在内存中表示的范围的方法,十进制浮点数转化为二进制的方法)
C语言之数据的存储2(浮点数在内存中如何存储,如何输出,查看不同类型数据在内存中表示的范围的方法,十进制浮点数转化为二进制的方法)
144 0
|
4月前
|
编译器 C语言
C语言中的浮点数:深入探索与应用
C语言中的浮点数:深入探索与应用
217 1
|
6月前
|
C语言
C语言---输入n科成绩(浮点数表示),统计其中的最高分,最低分以及平均分。
C语言---输入n科成绩(浮点数表示),统计其中的最高分,最低分以及平均分。
|
6月前
|
存储 C语言
C语言——浮点数
C语言——浮点数
62 0
|
7月前
|
存储 编译器 C语言
【C语言】数据的存储(基本类型介绍、原码、反码、补码详解、大小端的理解、浮点数的存储规则)
【C语言】数据的存储(基本类型介绍、原码、反码、补码详解、大小端的理解、浮点数的存储规则)
108 0
TU^
|
7月前
|
存储 C语言
C语言浮点数在内存中的存储
在C语言中,浮点数类型用float和double表示。float类型使用4个字节(32位),而double类型使用8个字节(64位)。浮点数表示的范围:float.h中定义
TU^
129 0