【发布时间】:2017-11-20 02:24:51
【问题描述】:
#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 为真返回 1.00,x>10 为假返回 0.00,但为什么 float 表现得像 bool。为什么 y 不返回一些垃圾值?
【问题讨论】:
-
"为什么 y 不返回一些垃圾值?" - 为什么要这样?并请提供对定义“垃圾价值”的标准的参考。那是什么?
-
@UnholySheep:C 很好地有一个 boolean 类型:
_Bool并提供了一个定义宏bool的标头。 -
当然输出是
"1.000000"而不是"1.0000"。真正的转录对于解决问题通常很重要。
标签: c initialization type-conversion operators