如何在c中将bool的输出从1和0转换为true或false [重复]

Posted

技术标签:

【中文标题】如何在c中将bool的输出从1和0转换为true或false [重复]【英文标题】:How do I convert the output of a bool from 1's and 0's to true or false in c [duplicate] 【发布时间】:2019-02-09 02:54:22 【问题描述】:

如何将 bool in 的输出从 1 和 0 转换为字符串,例如 True 或 False。

float a=get_float("Give 1st side");
float b=get_float("Give 2nd side");
float c=get_float("Give 3rd side");
bool z=trcheck(a,b,c);
printf("The Triangle is %d",z);

【问题讨论】:

使用if 语句或三元运算符...?...:... 或字符串的索引数组 呃....printf("it is %s\n", z ? "true" : "false"); 【参考方案1】:

C 中的bool 基本上是下面的整数,它将0 映射到false1true¹。在该值上使用printf("%d", z),将为您提供数字表示。

如果您需要文本表示,则必须自己提供,示例如下:

printf("%s", z?"true":"false");

但是有很多方法可以做到这一点。

¹当然没那么简单,查看theselinks了解更多信息。

【讨论】:

我认为你的意思是 0 为假,1 为真。 @Rizwan 你是对的,我修好了。

以上是关于如何在c中将bool的输出从1和0转换为true或false [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Go 中将布尔值转换为字符串?

如何最好地将 VARIANT_BOOL 转换为 C++ bool?

如何在golang中将bool转换为int8 [重复]

如何在 Postgres 中将布尔数组转换为单个布尔值或单个字符串

当类型转换为 int 时,C/C++ bool 类型是不是总是保证为 0 或 1?

C# fluent 断言检查结果为 bool