查看: 1370|回复: 0
打印 上一主题 下一主题

求助:函数指针数组的应用问题

[复制链接]
跳转到指定楼层
沙发
发表于 2015-6-14 17:25:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目的是想利用函数指针数组的指针
但是在赋值的时候出错(红色标注的)
#include<stdio.h>
int (*(*FunArray[4]))(int,int);
int (*fun[1][4])(int,int);
int add(int,int);
int sub(int,int);
int mul(int,int);
int div(int,int);

int main()
{
        int FunFlag=0,a,b;
        fun[0][0]=add;
        fun[0][1]=sub;
        fun[0][2]=mul;
        fun[0][3]=div;

        FunArray=fun;        
//FunArray=&fun;


        while(1)
        {        
                printf("1、加法。\n2、减法。\n3、乘法运算。\n4、除法运算。\n5、退出。\n");
                scanf("%d",&FunFlag);               
                if(FunFlag==5)
                        break;

                printf("输入数据:");
                scanf("%d %d",&a,&b);
                //printf("结果是:%d.\n",fun[FunFlag-1](a,b));
        }
        printf("sizeof FunArray:%d.\n",sizeof(FunArray));
        printf("sizeof fun:%d.\n",sizeof(fun));
        return 0;
}

int add(int a,int b)
{
        return (a+b);
}

int sub(int a,int b)
{
        return (a-b);
}

int mul(int a,int b)
{
        return (a*b);
}

int div(int a,int b)
{
        if(b!=0)
                return (a/b);
        else
                return b;
}
转载
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表