Chinaunix首页 | 论坛 | 博客
  • 博客访问: 143217
  • 博文数量: 49
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 576
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-17 11:27
文章分类

全部博文(49)

文章存档

2011年(1)

2010年(15)

2009年(33)

我的朋友

分类: C/C++

2009-10-07 11:49:12

设一个函数process,在调用它的时候,每次实现不同的功能。输入a和b两个数,第一次调用process时找出a和b中大者,第二次找出其中小者,第三次求a与b之和。
 
#include
 
int main()
{
  int a,b;
  int max(int,int);
  int min(int,int);
  int add(int,int);
 
  void process(int,int,int(*p)(int,int));
 
  printf("please input two number:\n");
  scanf("%d %d",&a,&b);
  printf("max=");
  process(a,b,max);
  printf("min=");
  process(a,b,min);
  printf("add=");
  process(a,b,add);
 
}
 
int max(int x,int y)
{
 int z;
 if(x>y)z=x;
 else z=y;
 return(z);
}
 
int min(int x,int y)
{
 int z;
if(x else z=y;
 return(z);
}
 
int add(int x,int y)
{
 int z;
 z=x+y;
 return(z);
}
 
 
 
 
void process(int x,int y,int (*funt)(int,int))
{
 int result;
 result=(*funt)(x,y);
 printf("%d\n",result);
}
阅读(1563) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~