【C语言】每日一题,快速提升(4)!

🔥 博客主页**🔥** :【 坊钰_CSDN博客

欢迎各位点赞**👍** 评论**✍收藏⭐**

题目:实现计算机程序

解答:

该程序运用函数指针数组,具体请看代码

代码:

cs 复制代码
#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;
}
int div(int a, int b)
{
    return a / b;
}
int main()
{
    int x, y;
    int input = 1;
    int ret = 0;
    int(*p[5])(int x, int y) = { 0, add, sub, mul, div }; //函数指针数组
    do
    {
        printf("*************************\n");
        printf("  1:add           2:sub  \n");
        printf("  3:mul           4:div  \n");
        printf("         0:exit          \n");
        printf("*************************\n");
        printf("请选择:");
        scanf("%d", &input);
        if ((input <= 4 && input >= 1))
        {
            printf("输入操作数:");
            scanf("%d %d", &x, &y);
            ret = (*p[input])(x, y);
            printf("ret = %d\n", ret);
        }
        else if (input == 0)
        {
            printf("退出计算器!\n");
        }
        else
        {
            printf("输入有误!\n");
        }
    } while (input);
    return 0;
}
相关推荐
xskukuku13 小时前
使用VSCode配置C语言运行环境
c语言·ide·vscode
xuhaoyu_cpp_java15 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
想吃火锅100515 小时前
【leetcode】405.数字转换为十六进制数js
开发语言·javascript·ecmascript
专注VB编程开发20年16 小时前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
cfm_291416 小时前
JVM GC垃圾回收初步了解
java·开发语言·jvm
~小先生~16 小时前
Python从入门到放弃(一)
开发语言·python
许彰午17 小时前
17_synchronized关键字深度解析
java·开发语言
z落落17 小时前
C# 泛型接口和泛型类+泛型约束
开发语言·c#
阿正的梦工坊17 小时前
【Rust】02-变量、不可变性与基础类型
开发语言·后端·rust
阿正的梦工坊17 小时前
【Rust】08-集合类型、字符串与迭代器入门
开发语言·rust·c#