[英]How to get my function to print true or false
我怎樣才能讓我的程序像我的 function 要求那樣打印真或假? 進入三邊之后,什么也沒有發生。 謝謝。
#include <cs50.h>
#include <stdio.h>
//declare functions
bool valid_triangle(float x, float y, float z);
int main(void)
{
float x = get_float("Side 1 length: ");
float y = get_float("Side 2 length: ");
float z = get_float("side 3 length: ");
bool valid_triangle(float x, float y, float z);
}
bool valid_triangle(float x, float y, float z)
{
if (x + y > z && y + z > x && x + z > y)
{
return true;
}
else
{
return false;
}
}
您永遠不會調用 function。 您也沒有打印“真”或“假”的代碼。 你可能想要這樣的東西:
if (valid_triangle (x, y, z))
puts("true\n");
else
puts("false\n");
你從來沒有打電話給你的 function。 出現在您的主 function 中調用 function 的語法實際上是聲明語法。 function 調用語句不應包含類型信息。 您應該按如下方式調用您的 function,然后根據您的 function 決定打印 true 或 false:
int main(void)
{
float x = get_float("Side 1 length: ");
float y = get_float("Side 2 length: ");
float z = get_float("side 3 length: ");
if(valid_triangle(x, y, z))
printf("True");
else
printf("False");
}
您的驗證 function 可以更簡潔地編寫如下:
bool valid_triangle(float x, float y, float z)
{
return (x + y > z && y + z > x && x + z > y);
}
這是因為驗證表達式已經計算為 boolean 表達式。 所以你不需要if-else。
int main(void)
{
float x = get_float("Side 1 length: ");
float y = get_float("Side 2 length: ");
float z = get_float("side 3 length: ");
valid_triangle(x, y, z);
}
printf(valid_triangle(x, y,z)?"true":"false");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.