环境
代码
① 函数指针(maxInteger.c)
#include <stdio.h>
int max(int x, int y)
{
return x > y ? x : y;
}
int main()
{
int (* p)(int, int) = & max;
int a, b, c, d;
printf("请输入三个整数:\n");
scanf("%d %d %d", & a, & b, & c);
d = p(p(a, b), c);
printf("最大的整数是 %d\n", d);
return 0;
}
② 回调函数(tenIntegers.c)
#include <stdlib.h>
#include <stdio.h>
void populateArray(int *array, size_t array_size, int (* getValue)(void))
{
size_t i;
for (i = 0; i < array_size; i++)
array[i] = getValue();
}
int getRandomValue(void)
{
return rand();
}
int main()
{
int my_array[10];
populateArray(my_array, 10, getRandomValue);
int i;
for (i = 0; i < 10; i++) {
printf("%d ", my_array[i]);
}
printf("\n");
return 0;
}
运行结果