按照课本打进去的,为什么还是显示为初始化呀

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include<stdio.h>

int Max(int x,int y)
{    
    int z;
    if (x > y)
    {
        z = x;
    }
    else
        z = y;
    return z;
}

int Min(int x,int y)
{
    int z;
    if (x < y)
    {
        z = x;
    }
    else
        z = y;
    return z;
}
int main()
{    
    int (* p)(int, int);

    int a, b,c,n;

    printf("输入两个数a,b的值");

    scanf_s("%d %d",&a,&b);

    printf("选择1或2");

    scanf_s("%d",&n);

    if (n == 1)
        p = Max;
    else if (n == 2)
        p = Min;

    c = (* p)(a,b);

    printf("a=%d,b=%d",a,b);
    if (n == 1)
        printf("max=%d\n", c);
    else
        printf("min=%d\n",c);
    return 0;
}

img

编译器的问题,设置了SDL检查,不允许使用可能未初始化的指针变量,关闭SDL检查就行

c = (* p)(a,b);----> c = p(a,b);