我是C的初學者,我嘗試使用鍵盤輸入來創建一個計算數組最大值的程序。我不明白爲什麼這個代碼打印4203785
。我認爲這個算法是正確的。有人能幫我嗎?此代碼爲什麼打印一個不是我最大的數字?
int calcola_massimo(int vettore[], int size) {
int max = vettore[0];
int i;
for(i = 0; i < size; i++){
if(vettore[i] > max){
max = vettore[i];
}
}
return max;
}
int main(int argc, char *argv[]) {
int array[10];
int j;
int max;
for(j = 0; j< SIZE; j++){
printf("Inserire valore n. %d \n", j+1);
scanf("%d", array);
}
max = calcola_massimo(array, SIZE);
printf("Il valore massimo e' : %d", max);
return 0;
}
您正在將該值掃描到數組的* first *元素中,而不是第j個元素。 –
'scanf(「%d」,&array [j]);' –
將其更改爲'scanf(「%d」,&array [j])''。也可以將'array'賦值爲這樣 - 'int array [10] = {0};' – kuro