当我试图找到数组的最大浮点数时,我在 C 中遇到问题,但我最大的 int 工作得很好。我想我可能会超过数组长度,但我不明白这是怎么可能的。
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);
这就是我要运行的。