我是受了我的答案是不是給我一個浮動的這個簡單的功能相當困惑:爲什麼我的函數返回一個整數,雖然我已經指定了答案作爲一個浮點數?
#include <iostream>
using namespace std;
int average(int a[], int num){
float avg = 0;
for (int i = 0; i<num; i++){
avg += a[i];
}
avg = avg/num;
cout<<avg<<endl; //gives 1.5
return avg;
}
int main(){
int a[] = {1,2};
float result = average(a, 2);
cout<<result<<endl; //gives 1
return 0;
}
由於可以在評論中可以看出,爲什麼會在函數的輸出爲1時,最終計算值是1.5?我還指定了以浮點形式返回的答案,所以我不知道它爲什麼仍然給我一個整數。
'average'應該返回float,而不是int。 –
是的,但'result'的輸出是1而不是1.5。這是奇怪的部分。 – kwotsin
'int average(int a [],int num)'是返回int的函數的簽名。 –