指针查找数组中的数,只能输出not found,求大神指点

输入x控制数组长度,查找数组中是否有n

#include <stdio.h>
int main()
{
   int i,a[50],x,*p,n,t=1;
   p=a;
   scanf("%d",&x);
   for(i=0;i<x;i++)
   {
       scanf("%d",p++);
   }
   scanf("%d",&n);
   for(i=0;i<x;i++,p++)
   {
       if(*p==n)
       {
           printf("%d",i);
           t=0;
           break;
       }
   }
   if(t==1)
   {
       printf("not found");
   }
    return 0;
}


因为在第一个循环中,指针p已经指向了数组的前x个数据的最后一个数据了,你如果想查找,需要将指针p重新指向数组a的首地址;所以,需要在第一个循环赋值完成后,加上p=a; //测试可用