【发布时间】:2016-05-13 11:04:48
【问题描述】:
我是 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 元素中,而不是
jth。 -
scanf("%d", &array[j]); -
将其更改为
scanf("%d", &array[j])。也将array分配给喜欢这个 -int array[10] = {0}; -
或
scanf("%d", array + j);也可以使用int array[SIZE];而不是int array[10];
标签: c