gpt4 book ai didi

c - 在 C 中,整数和 float 的算术运算符是否相同?

转载 作者:太空宇宙 更新时间:2023-11-04 03:08:48 25 4
gpt4 key购买 nike

<分区>

我是 C 的新手,最近我在它的一些算术运算符中发现了一些(对我来说)“奇怪”的行为。

因为“f”是一个 float ,我希望“3/2”的结果是 1.5(如第二个示例),但不知何故它是整数除法的结果。

在第二个例子中,因为 3.0 和 2.0 都是 float ,所以现在的结果是(如预期的那样)1.5。

最后,在第三个例子中,3.0 是一个 float ,2 是一个整数。 '3.0/2' 的结果是 1.5,因此是 float 除法的结果。

因此我得出结论,有两种不同类型的除法:[int]/[int] = [int] 形式的整数除法和 [float]/[float] = [float] 形式的浮点除法。在第三个示例中,在除法之前,'2' 被简单地转换为 float 。在第一个示例中,执行整数除法“3/2”,然后转换为 float (因此值为 1.0)。

这是 C“解释”算术运算的实际方式吗?我的假设是否正确?

f = 3 / 2;          // f = (float) (3 / 2)
printf("%f\n", f); // 1.000000

f = 3.0 / 2.0; //
printf("%f\n", f); // 1.500000

f = 3.0 / 2; // f = 3.0 / (float) 2
printf("%f\n", f); // 1.500000

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