下面的代码是书上的例子 main调用process再调arr
书上是用函数指针 然后我改了一下 发现不用指针 效果一样
但是网上一般都用指针形式 不用指针有什么弊端?
#include <iostream>
#include <cstdlib>
using namespace std;
#define N 5
/*
void process(int* x, int n,int (*fun)(int*,int))
{
int result;
result = (*fun)(x,n);
cout<<result<<endl;
}
*/
void process(int* x, int n,int fun(int*,int))
{
int result;
result = fun(x,n);
cout<<result<<endl;
}
int arr_max(int x[],int n)
{
int max=x[0],k;
for(k=1;k<n;k++)
{
if(max<x[k])
max= x[k];
}
return max;
}
int arr_min(int x[],int n)
{
int min=x[0],k;
for(k=1;k<n;k++)
{
if(min>x[k])
min= x[k];
}
return min;
}
int main()
{
int a[N] = {10,25,33,15,27},choice;
cout<<"Input your choice:";
cin>>choice;
switch(choice)
{
case 1:cout<<"max = ";
process(a,N,arr_max);
break;
case 2:cout<<"min = ";
process(a,N,arr_min);
break;
}
system("pause");
return 0;
}