大一自学c语言提问的小问题

img


我想问一下这个程序怎么改对,报错显示的使用了可能未初始化的本地指针变量p是啥意思


#include<stdio.h>

int max(int x, int y);
int min(int x, int y);

int main() {
    int a, b, xuanze;
    int (*p)(int, int);
    printf("请输入两个整数:\n");
    scanf("%d,%d", &a,&b);
    printf("请输入1或2\n");
    scanf("%d", &xuanze);
    if (xuanze == 1)
        p = max;
    else if (xuanze = 2)
        p = min;
    else
        printf("wrong");
    printf("%d\n", (*p)(a,b));
    return 0;
}

int max(int x, int y) {
    return x > y ? x : y;
}

int min(int x, int y) {
    return x > y ? y : x;
}


img

1、将main函数里的min和max两个函数的声明,放到main函数前面,不要放到main函数里面。
2、指针*p的定义也是错的。

你写的代码贴文本上来帮你改