【发布时间】:2017-08-19 02:26:35
【问题描述】:
我用 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?为什么函数返回int? -
那么你尝试过的输入会返回什么?
-
好的,所以我解决了这个问题,但现在它返回的结果很荒谬。
-
那是因为你的算法完全错误。您只考虑了两种可能的排列。一共6个。
标签: c function if-statement max