水吉雨文 发表于 2021-12-9 22:20:30

回调函数出错

本帖最后由 水吉雨文 于 2021-12-9 22:22 编辑

#include <stdio.h>
#include <stdlib.h>

int add(int x,int y)
{
    int z;
    z=x+y;
    return z;
}

int reduce(int x,int y)
{
    int z;
    z=x-y;
    return z;
}

void calu(int(*p2)(int,int))
{
    int a=3;
    int b=5;
    int z=(*p2)(a,b);
    printf("%d\n",z);
}
int main()
{
    int (*p1[])(int int)={&add,&reduce};
    calu(p1);
    return 0;
}

大佬们,抽点时间来帮小白看看程序为啥出错了。

人造人 发表于 2021-12-9 22:25:18

认真一点

#include <stdio.h>
#include <stdlib.h>

int add(int x,int y)
{
    int z;
    z=x+y;
    return z;
}

int reduce(int x,int y)
{
    int z;
    z=x-y;
    return z;
}

void calu(int(*p2)(int,int))
{
    int a=3;
    int b=5;
    int z=(*p2)(a,b);
    printf("%d\n",z);
}
int main()
{
    //int (*p1[])(int int)={&add,&reduce};
    int (*p1[])(int, int)={&add,&reduce};
    calu(p1);
    return 0;
}
页: [1]
查看完整版本: 回调函数出错