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