gpt4 book ai didi

c - 为什么 y 的输出是 0.000?

转载 作者:行者123 更新时间:2023-11-30 21:33:01 25 4
gpt4 key购买 nike

#include <stdio.h>

int main()
{
int x = 3;
float y = x>10;
printf("y is %f",y);
}

如果 x<10输出是 1.0000?

我的尝试

所以 x 是 3 且 x<10为 true 返回 1.00 和 x>10 false 返回 0.00 但为什么 float 的行为就像 bool 一样。为什么 y 不返回一些垃圾值?

最佳答案

根据C标准(6.5.8关系运算符)

6 Each of the operators < (less than), > (greater than), <= (less than or equal to), and >= (greater than or equal to) shall yield 1 if the specified relation is true and 0 if it is false.107) The result has type int

将整数值分配给 float 类型的对象是一个定义明确的操作。

事实上你可以考虑这个代码片段

int x = 3;
float y = x>10;

喜欢

int temporary = 0; // x > 10
float y = temporary;

关于c - 为什么 y 的输出是 0.000?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44603977/

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