我是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