我用 C 语言编写了这个,试图获取 get_extreme 的最大值,但它没有在编译器中返回结果。
它应该返回最大浮点值,或者如果最大值是全部三个,则返回该结果。
int get_extreme(float num1, float num2, float num3) {
/* local variable declaration */
int result;
if (num1 == num2 && num2 == num3 ){
result = num1;
}
else if (num1 > num2 && num2 > num3){
result = num1;}
else if (num2 > num3 && num3 > num1){
result = num2;}
else {
result = num3;}
return result;
}
最佳答案
您已将结果定义为 int
。还有返回值。但是,当您为结果变量分配值时,您分配的是 float 。
你的逻辑似乎是错误的。如果 num1
大于 num2
并且 num3
大于 num2
,则返回 num3
例如,> 和 num1
大于 num3
。
将条件更改为:
if (num1>=num2&& num1>=num3)
result=num1;
else if (num2>=num1&& num2>=num3)
result=num2;
else
result=num3;
关于比较 C 函数中的三个 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43028468/