C程序设计 (第四版) 谭浩强 例 8.22
例 8.22 用函数求整数a和b中的大者。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法:使用指针、函数指针、动态分配内存
#include
#include
void initialNum(int **a, int **b){
*a = (int*)malloc(sizeof(int));
*b = (int*)malloc(sizeof(int));
}
void inputNum(int *a, int *b){
printf("Enter number a, b: ");
scanf("%d %d", a, b);
}
void max(int *a, int *b){
int max = *a > *b ? *a : *b;
printf("Max = %d\n", max);
}
void min(int *a, int *b){
int min = *a < *b ? *a : *b;
printf("Min = %d\n", min);
}
void func(int *a, int *b, void (*fun)(int*, int*)){
(*fun)(a, b);
}
void freeNum(int **a, int **b){
free(*a);
free(*b);
}
int main(){
int *a = NULL;
int *b = NULL;
initialNum(&a, &b);
inputNum(a, b);
func(a, b, max);
func(a, b, min);
freeNum(&a, &b);
system("pause");
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45