你把函数指针放到void*的数组里,然后用一个循环进行调用就行了。 #include <stdio.h> int add(int n, int m) { return n + m; } int sub(int n, int m) { return n - m; } int mul(int n, int m) { return n * m; } int div(int n, int m) { return n / m; } int main() { void *pFun[] = { div, mul, sub, add }; int len = sizeof(pFun) / sizeof(*pFun); int n, m; scanf("%d%d", &n, &m); while (len--) { printf("%d\n", ((int(*)(int,int))pFun[len])(n, m)); } return 0; }