Salve,
da poco sto facendo i puntatori quindi non ho ancora molta pratica, ho fatto questo semplice programma di ricerca di un numero in un array di interi, se inserisco il numero 5 lo trova, ma non i primi due elementi dell'array, il compilatore non dà errori ma il programma non funziona come dovrebbe.

Spero che qualcuno possa darmi una dritta.

Questo è il codice che ho fatto per far pratica con i puntatori:


#include<stdio.h>
#define M 3

int inserire_num(void);
int *cerca_num(int , int *);

main(){

int a[M] = { 2, 3, 5 };
int *p;
int num;

num = inserire_num();
p = cerca_num(num, a);

if(*p != 0 )
printf("il numero cercato %d si trova nella sequenza.\n\n", *p);
else
printf("Il numero %d non si trova nella sequenza.\n\n", num);

system("PAUSE");

}
int inserire_num(){
int n;

printf("Inserire un numero da cercare: ");
scanf("%d", &n);

return n;

}
int *cerca_num(int nn, int *ar){

int *pA;
int i;

for(i = 0; i< M; i++){

if(*(ar+i) == nn)
pA = &nn;

else
pA = 0;

}
return pA;

}