WFR 发表于 2020-1-23 22:09:22

求解决不知道该怎么办了


#include<stdio.h>
int max(int x, int y)
{
        int z;
        if (x < y)
                z = y;
        else if (x>y)
                z = x;
        else if (x = y)
                z = x;
        return z;
}
int min(int x,int y)
{
        int z;
        if (x < y)
                z = x;
        else if (x>y)
                z = y;
        if (x = y)
                z = x;
        return z;

}
void H(int a,int b ,int(*fun)())
{
        int x;
x = (*fun)(a,b);

return x;
       


}
main()
{
        int max(int, int);
        int min(int, int);
        int(*p)(), (*h)(),x,y;
        void H(int, int, int(*p)(int,int));
        printf("Enter a and b:");
        scanf_s("%d%d", &x, &y);
        p = max;
        h = min;

        printf("max =");
        H(x, y, max);
       

}
指向函数指针的指针,不知道错在哪里,得不到max的值

WFR 发表于 2020-1-23 22:12:32

忽略p=max与h=min

工具杨 发表于 2020-1-25 16:20:07

你的main没有int main嘛

chxchxkkk 发表于 2020-1-28 17:50:43

int(*p)(), (*h)()
应该是 int(*p)(int, int), int(*h)(int,int)
要和 int max(int x, int y)函数参数类型一样

WFR 发表于 2020-2-4 20:59:33

工具杨 发表于 2020-1-25 16:20
你的main没有int main嘛

默认是int型
页: [1]
查看完整版本: 求解决不知道该怎么办了