【发布时间】:2021-07-20 23:41:40
【问题描述】:
下面的代码编译、运行和接受输入,但它没有按预期输出真或假。我不确定我做错了什么。
#include <stdio.h>
#include <cs50.h>
//int add_two_ints(int a, int b);
bool valid_triangle (float a, float b, float c);
int main (void)
{
float a = get_float("Enter Side 1:");
float b = get_float("Enter Side 2:");
float c = get_float("Enter Side 3:");
}
bool valid_triangle (float a, float b, float c)
{ //checks if two sides are greater than one
if ((a + b <= c) || (a + c <= b) || (b + c <= a))
{
return false;
}
//checks for positive sides
if (a <= 0 || b <= 0 || c <= 0 )
{
return false;
}
//if conditions are met print true
else
return true;
}
【问题讨论】:
-
你不要打电话给
valid_triangle。 -
对不起,请您解释一下,对 c/programming 还是很陌生。
-
您已经定义了一个函数,但您从未调用它。在
main添加bool r = valid_triangle(a, b, c); -
调用
valid_triangle()后,需要修复函数中的逻辑——超长边的测试不正确(<=vs>)。