用指向指针的方法,将n个整数排序输出

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

用指向指针的方法,将n个整数排序输出

用代码块功能插入代码,请勿粘贴截图
#include  
int main()
{
    void sort(int** p, int n);
    int i, n, data[30], ** p, * pstr[30];
    printf("input n:\n");
    scanf_s("%d", &n);
    for (i = 0;i printf("input %d integer numbers:", n);
    for (i = 0;i < n;i++)
    {
        scanf_s("%d", pstr[i]);
    }
    p = pstr;
    sort(p, n);
    printf("Now the sequence is :\n");
    for (i = 0;i < n;i++)
        printf("%4d", *pstr[i]);
    printf("\n");
    return 0;
}
void sort(int** p, int n)
{
    int i, j, * temp, a = 0;;
    temp =&a;
    for (i = 0;i <= n - 1;i++)
    {
        for (j = i + 1;j < n;j++)
        {
            if (**(p + i) > **(p + j))
            temp = *(p + i);
            *(p + i) = *(p + j);
            *(p + j) = temp;
        }
    }

}

运行结果及报错内容

img

我的解答思路和尝试过的方法

有什么错误

就一个整数数组而已,怎么还跑出来指针的指针了呢???

你为什么要没事定义一个二级指针,干什么用