-2
下面是我的代碼,用於從數組中找到最小值和最大值。任何人都可以解釋爲什麼我得到0作爲最小元素的輸出?它背後的原因是什麼?爲什麼我總是得到0作爲數組的最小值
我正在根據需要獲取數組元素中的最大值。
#include<stdio.h>
#define N 3
int a[N],min,max, max1,min1;
void minmax(int m,int n);
void minmax(int m, int n){
if(m==n){
max=min=a[m];
return;
}
if(m == n-1){
if(a[m]>a[n]){
max= a[m];
min = a[n];
}
else{
max= a[n];
min = a[m];
}
}
else{
int mid = (m+n)/2;
minmax(1,mid);
max1=max;
min1=min;
minmax(mid+1,n);
}
if(max1>max){
max= max1;
}
if(min1<min){
min=min1;
}
}
int main(){
int i,j,k;
printf("Enter array\n");
for(i=1;i<=N;i++) //input
scanf("%d",&a[i]);
minmax(1,N);
printf("%d %d",max,min);
}
'爲(I = 1;我<=N;i++)' -->'爲(I = 0; I
BLUEPIXY
請正確縮進您的代碼,這是不可能讀取的 –
'a [3]'不存在;'a [0]'沒有設置。 – pmg