この関数を使って配列を検索しても機能しませんでした。配列を渡すことと何らかの関係があると思いました。だから私は別のものを試していた。配列へのポインタを作成するだけで作業が始まりましたが、何もしませんでした。それはなぜですか?あなたがバインドされたアクセスのうち配列であるarr[size+1]
にアクセスしようとしたところ配列検索はポインタを作成するだけで動作します
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 –