目的是想利用函数指针数组的指针 
但是在赋值的时候出错(红色标注的) 
#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; 
} 
转载 
 |