1,运用函数指针数组
#include <stdio.h>
#include <stdlib.h>
/*
有两整数(data1,data2),把最大数,最小数,两数之和求出来
*/
//大数
int getMaxData(int data1,int data2)
{
return data1>data2?data1:data2;
}
//小数
int getMinData(int data1,int data2)
{
return data1<data2?data1:data2;
}
//求和
int getSumData(int data1,int data2)
{
return data1+data2;
}
//减数
int getSubData(int data1,int data2)
{
return data1-data2;
}
int dataHandler(int data1,int data2,int (*pfanc)(int ,int ))
{
return (*pfanc)(data1,data2);
}
int main()
{
int data1=50;
int data2=20;
int ret;
int i;
int (*pfanc[4])(int ,int )={getMaxData,getMinData,getSumData,getSubData};
for(i=0;i<4;i++){
ret=(*pfanc[i])(data1,data2);
printf("ret=%d\n",ret);
}
return 0;
}