指针型函数是指返回值是指针类型的函数 int *fun1(int a,int b);
函数指针就是指向函数的指针 int (*p)(int,int);
该代码定义了一个函数指针p,其指向max函数,在主函数main()中调用函数max。
#include<iostream>
using namespace std;
int max(int x,int y)
{
return(x>y?x:y);
}
int main()
{
/*int (*p)(int,int); //定义函数指针
int a,b,c;
p=max; //初始化函数指针
cout<<"Please input 2 numbers: "<<endl;
cin>>a>>b;
c=(*p)(a,b); //通过函数指针调用函数
cout<<"max(a,b)= "<<c<<endl;*/
int (*p[5])(int,int);
int a[5],b[5],c[5];
for(int i=0;i<5;i++)
{
cin>>a[i]>>b[i];
}
for(int i=0;i<5;i++)
{
cout<<a[i]<<"\t";
}
cout<<endl;
for(int i=0;i<5;i++)
{
cout<<b[i]<<"\t";
}
cout<<endl;
for(int i=0;i<5;i++)
{
p[i]=max;
}
for(int i=0;i<5;i++)
{
c[i]=(*p[i])(a[i],b[i]);
}
for(int i=0;i<5;i++)
{
cout<<"max(a,b)= "<<c[i]<<"\t";
}
}
25 30
35 40
50 45
60 55
70 75
25 35 50 60 70
30 40 45 55 75
max(a,b)= 30 max(a,b)= 40 max(a,b)= 50 max(a,b)= 60 max(a,b)= 75
--------------------------------
Process exited after 15.4 seconds with return value 0
请按任意键继续. . .
实现比较多组数据