用指针对数组排序 C语言

问题遇到的现象和发生背景

对指针不太理解,不知道哪里错了

用代码块功能插入代码,请勿粘贴截图
#include 
int a[10];
void p_sort(int *p,int n)
{
    int t;
    for(int i=1;ifor(int j=0;jif(a[i]>a[i+1])
            {
                t=a[i];
                a[i]=a[i+1];
                a[i+1]=t;
            }
        }
}
int main()
{
    int n=10;
    for(int i=0;i<10;i++)
    {
        scanf("%d",a[i]);
    }
    p_sort(a,n);
    for(int j=0;j<10;j++)
    {
        printf("%d",a[j]);
    }
    return 0;
}

a是个全局变量啊
p这个指针你根本没用上啊
传参传了个寂寞

#include<stdio.h>
void p_sort(int* p, int n)
{
    
    int i = 0;
    for (i = 0; i < 10; i++)
    {
        int j = 0;
        for (j = 0; j < 10 - i; j++)
        {
            if (*(p+j) > *(p+j+1 ))
            {
                int t = *(p+j);
                *(p+j) = *(p + j+1);
                *(p + j+1) = t;
            }
        }
    }

}
int main()
{
    int a[10] = { 0 };
    int n = 10;
    for (int i = 0; i < 10; i++)
        scanf("%d", &a[i]);
    p_sort(a, n);
    for (int j = 0; j < 10; j++)
        printf("%d", a[j]);
    return 0;

}