如何在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
相关产品推荐
相关产品推荐

