You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C语言中获取bool类型三角形合法性校验函数的终端输出?

如何在终端输出C语言bool类型函数的返回值

C语言本身没有直接将bool类型格式化为true/false文本的标准输出方式,直接打印bool值只会输出1(对应true)或0(对应false)。要在终端得到文本形式的返回结果,你可以通过以下两种方式处理:

方案1:通过条件判断输出文本

在main函数中调用valid_triangle后,根据返回值的真假,分别打印对应的字符串:

#include <stdio.h>
#include <stdbool.h> // 必须包含该头文件才能使用bool、true、false

bool valid_triangle(float a, float b, float c)
{
    // 检查边长是否为正数
    if (a <= 0 || b <= 0 || c <= 0)
    {
        return false;
    }
    // 检查三角形三边关系
    if ((a + b <= c) || (b + c <= a) || (a + c <= b))
    {
        return false;
    }

    return true;
}

int main()
{
    // 示例测试用例
    float side1 = 3.0f, side2 = 4.0f, side3 = 5.0f;
    bool is_valid = valid_triangle(side1, side2, side3);

    if (is_valid) {
        printf("true\n");
    } else {
        printf("false\n");
    }

    return 0;
}

方案2:使用三目运算符简化代码

用三目运算符? :可以把条件判断压缩成一行代码,让逻辑更简洁:

// 在main函数中替换条件判断部分
printf("%s\n", is_valid ? "true" : "false");

关键注意事项

  • 必须包含<stdbool.h>头文件:bool、true、false是C99标准引入的,只有包含这个头文件,编译器才能识别这些标识符。
  • 直接打印bool值的效果:如果用printf("%d", is_valid),会输出1(代表true)或0(代表false),这是因为bool本质是_Bool类型的别名,底层存储的是整数。

内容的提问来源于stack exchange,提问作者Hadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 09:34:59