| 最近想到一个事情,能否使用循环调用不同的函数呢,思考了一会儿,想到了一个方法,使用函数指针数组。 
 #include <stdio.h>
// 声明三个相同签名的函数
int add(int a, int b) { return a + b; }
int sub(int a, int b) { return a - b; }
int mul(int a, int b) { return a * b; }
char aa[3][7] = {"加法", "减法", "乘法"}; // 每行分配7字节
int main() {
    // 定义函数指针数组:包含3个指向 int(int, int) 函数的指针
    int (*funcs[3])(int, int) = {add, sub, mul};
    
    // 调用数组中的函数
    int a = 10, b = 5;
    printf("加法: %d\n", funcs[0](a, b)); // add(10, 5)
    printf("减法: %d\n", funcs[1](a, b)); // sub(10, 5)
    printf("乘法: %d\n", funcs[2](a, b)); // mul(10, 5)
        printf("------------------------\n"); //华丽的分割线
        for(int i=0;i<3;i++)
        {
                printf("%s: %d\n", aa[i],funcs[i](a, b));
        }
    
    return 0;
}
 
 |