我在C中遇到問題,當我試圖找到數組的最大浮點數時,但是我的最大int值工作得很好。我想我可能會超過陣列的長度,但我不明白它有多可能。數組問題中的最大浮點數C
int largestInt(int array[], int length){
int max = array[0];
int i;
for(i=1; i<length; i++){
if(array[i] > max){
max = array[i];
}
}
return max;
}
上面的代碼工作正常整數,但是如果我改變它與花車爲如下工作,
float largestFloat(float array[], int length){
float max = array[0];
int i;
for(i=1; i<length; i++){
if(array[i] > max){
max = array[i];
}
}
return max;
}
有時會給我正確的答案,有時它只是給我一個巨大的數字,甚至沒有在原始數組中。這導致我相信我正在經歷陣列的長度。
float f[15] = {9.5, 45.64, 313.11, 113.89, 81.56, 250.00, 11.9, 469.98, 313.11, 4.68, 34.33, 8013.55, -10.15, 11.5, 88.0} <-- filled with 15 values
largestFloat(f,15);
這就是我要運行的。
您需要向我們顯示調用'largestFloat()'函數的代碼。問題可能在那裏。 – ChrisWue
每次調用'largestFloat'時,你確定'length'設置正確嗎?您是否嘗試過使用附加的調試器進行切換? – Dai
我做了一個數組「float f [15];」並用數值填充它。然後我運行「最大的浮點數(f,15);」 – wzsun