C语言----转移表实例计算器

Posted 4nc414g0n

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言----转移表实例计算器相关的知识,希望对你有一定的参考价值。

int(*p[5])(int x, int y) = { 0, add, sub, mul, div }; //转移表

加减乘除函数

#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 }; //转移表
     while (input)
     {
          printf( "*************************\\n" );
          printf( " 1:add           2:sub \\n" );
          printf( " 3:mul           4:div \\n" );
          printf( "*************************\\n" );
          printf( "请选择:" );
      scanf( "%d", &input);
          if ((input <= 4 && input >= 1))
         {
          printf( "输入操作数:" );
              scanf( "%d %d", &x, &y);
              ret = (*p[input])(x, y);
         }
          else
               printf( "输入有误\\n" );
          printf( "ret = %d\\n", ret);
     }
      return 0;
}

以上是关于C语言----转移表实例计算器的主要内容,如果未能解决你的问题,请参考以下文章

c语言程序解释

SQL Select 语句的用法

C语言代码片段

C语言实例第09期:计算字符串中单词的个数

如何有条件地将 C 代码片段编译到我的 Perl 模块?

C语言精华知识:表驱动法编程实践