gpt4 book ai didi

c - 为什么 float 除以整数返回一个 float

转载 作者:太空宇宙 更新时间:2023-11-04 05:52:19 26 4
gpt4 key购买 nike

我正在学习 C。我想知道为什么你得到一个 float ,即使你的一个变量是一个整数。

float x = 5.0;
int y = 2;

float result = x / y;

我猜结果是 2.00000。但它确实返回一个 float (2.500000)

我认为它会是 2.000000,因为如果你除以 2 个整数就是结果。而且我认为,如果您使用 int 和 float,它会选择最不精确的值。

最佳答案

因为 C 的通常的算术转换

引用 ANSI C 标准 § 3.2.1.5 常用算术转换:

Many binary operators that expect operands of arithmetic type cause conversions and yield result types in a similar way. The purpose is to yield a common type, which is also the type of the result. This pattern is called the usual arithmetic conversions: First, if either operand has type long double, the other operand is converted to long double . [...] Otherwise, if either operand has type float, the other operand is converted to float.

强调我的。

关于c - 为什么 float 除以整数返回一个 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37366197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com