#include <stdio.h>

// 运算函数：加、减、乘、除
int add(int a, int b) { return a + b; }
int subtract(int a, int b) { return a - b; }
int multiply(int a, int b) { return a * b; }
int divide(int a, int b) { 
    if (b == 0) {
        printf("错误：除数不能为0\n");
        return 0;
    }
    return a / b; 
}

int main() {
    int a, b, choice;
    // 函数指针数组：存储四个运算函数的地址
    int (*opFunc[])(int, int) = {add, subtract, multiply, divide};

    printf("请输入两个整数：");
    scanf("%d %d", &a, &b);
    printf("请选择运算：0-加 1-减 2-乘 3-除：");
    scanf("%d", &choice);

    // 检查选择是否合法
    if (choice < 0 || choice > 3) {
        printf("无效选择\n");
        return 0;
    }

    // 通过函数指针调用对应运算函数
    int result = opFunc[choice](a, b);
    if (!(choice == 3 && b == 0)) {  // 排除除零错误的情况
        printf("结果：%d\n", result);
    }

    return 0;
}
