我正在嘗試創建一個程式,該程式具有一個函式,該函式接受三角形的三個邊長并輸出它們是否創建了有效的三角形。
我不斷收到此錯誤:
comparison between pointer and integer ('bool (*)(int, int, int)' and 'int') [-Werror,-Wpointer-integer-compare]
if(valid_triangle == true)
~~~~~~~~~~~~~~ ^ ~~~~
這是我的代碼:
#include <cs50.h>
#include <stdio.h>
#include <stdbool.h>
bool valid_triangle(int length_a, int length_b, int length_c);
int main(void)
{
int length_a = get_int("side a: ");
int legnth_b = get_int("side b: ");
int legnth_c = get_int("side c: ");
if(valid_triangle == true)
{
printf("This is a triangle\n");
}
else if(valid_triangle == false)
{
printf("This is not a triangle\n");
}
}
bool valid_triangle(int length_a, int length_b, int length_c)
{
if(length_a <= 0 || length_b <= 0 || length_c <= 0)
{
return false;
}
if(length_a length_b < length_c || length_a length_c < length_b || length_b length_c < length_a)
{
return false;
}
return true;
}
uj5u.com熱心網友回復:
valid_triangle 是一個函式,所以當你呼叫它時,你需要傳入引數。您也不需要檢查真偽,因為它必須是其中之一。嘗試這個:
if(valid_triangle(length_a,length_b,length_c) == true)
{
printf("This is a triangle\n");
}
else
{
printf("This is not a triangle\n");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/528284.html
標籤:C功能整数布尔值cs50
