所以我做了這個函數來搜索一個數組,並且它沒有工作,我想它與傳遞數組有關。所以我嘗試了不同的東西。它開始工作時,我只是簡單地製作一個指向數組的指針,我沒有做任何事情,爲什麼?數組搜索只適用於製作指針
void search(int a[],int n,int find);
int main(void){
int size;
int arr[]={345,767,232,45,768,2342,78,-89,-354,-234};
int *p=arr;
size=sizeof(arr)/sizeof(int);
search(arr[size+1],size,-89);
return 0;
}
void search(int a[],int len,int find){
int spot,i,FOUND;
spot=i=FOUND=0;
for(i=0;i<len;i++)
if (a[i]==find){
FOUND=1;
break;
}
if (FOUND==1){
printf("%d found at element %d\n",find, i);
}
else
printf("Number: %d \tNOT FOUND",find);
}
}
此外,我必須在傳遞函數中添加'size + 1'才能使其工作,這是什麼原因? –
請縮進您的代碼 –
我之前被告知過,爲了讓它顯示爲代碼,我該如何縮進?抱歉,我是新來的Stackoverflow –