答案 0 :(得分:3)
bool
是一个扩展为_Bool
的宏,它在<stdbool.h>
中定义。
所以当您写:
if (bool valid_triangle)
就像您写过一样:
if (_Bool valid_triangle)
这是无效的语法。 _Bool
是类型说明符,将表达式转换为类型的方法是将说明符放在括号中。所以应该是:
if ((bool)valid_triangle)
但是valid_triangle
不是变量,而是函数。而且它已经声明要返回bool
,因此您无需强制转换。实际上应该是:
if (valid_triangle(a, b, c))