c语言初学者,求大神帮助T_T

#include
#define N 1000
int main()
{
int a[N],n,i,m,*p;
p=a;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++)
{
if(*(p+i)<*(p+i+1))
{
m=*(p+i);
(p+i)=(p+i+1);
(p+i+1)=m;
}
printf("max=%d\n",
(p+n-1));
for(i=0;i<n;i++)
{
if(*(p+n-1)==*(p+i))
{printf("location=%d",i+1);}
}
}
}

 #include<stdio.h>
#define N 1000
int main()
{
    int a[N],n,i;
    int *p;
    scanf("%d",&n);
    p = &a[0];
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    int m = 0;
    for(i=0;i<n;i++)
    {
        if (*(p+i) > *(p+m)) m = i;
    }
    printf("max=%d\n",*(p+m));
    printf("location=%d",m);
}


这可以了吧

无法调出最大值,不知道为什么T_T

 #include<stdio.h>
#define N 1000
int main()
{
    int a[N],n,i;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    int m = 0;
    for(i=0;i<n-1;i++)
    {
        if (a[i] > a[m]) m = i;
    }
    printf("max=%d\n",a[m]);
    printf("location=%d",m);
}