|
发表于 2014-4-24 12:01:30
|
显示全部楼层
- /******
- 设一个函数PROCESS,在调用它的时候,每次实现不同的功能
- 输入A和B,第一次调用PROCESS时找出大的,
- 第二次找出小的,第三次求和
- ********/
- #include <stdio.h>
- void main()
- {
- int max(int, int);
- int min(int, int);
- int add(int, int);
-
- void process(int x, int y, int(*fun)());
-
- int a, b;
- printf("enter a and b: ");
- scanf("%d %d", &a, &b);
-
- printf("max = ");
- process(a, b, max);
-
- printf("min = ");
- process(a, b, min);
-
- printf("sum = ");
- 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 n = x;
- if( x>y )
- {
- n = y;
- }
- return n;
- }
- int add(int x, int y)
- {
- int sum;
- sum = x + y;
- return sum;
- }
- //加上这个行数定义
- void process(int x, int y, int(*fun)())
- {
- printf("%d\n",((int(*)(int,int))fun)(x,y));
- }
-
复制代码 |
|