编程意识——将字符串与功能宏进行绑定

发布时间:2025-05-14 04:04

编 者 悟 语

针对事的准备,始终都不必觉得他人考虑到的太多,经事的你很有可能才会发觉,并不是他人想得过多,只是你要得太少。(思索是一种习惯性,而不是一种压力)

文 章 导 读

今日给朋友们产生一段简洁明了的编码,简洁明了但精美,将字符串数组与作用宏开展关联,那样做的益处是调节代码比较便捷,把握后你也就会搞清楚哪些才算是构造清楚,阅读文章全过程中假如有哪些难题,能够后台管理留言板留言哈。

1 编码基本原理表明

运用switch和case的散转作用,宏做为散转标准,每一个宏相匹配一种作用,将宏和字符串数组开展关联,那样根据较为字符串数组的方法,就能得到相匹配宏的作用编码。

此编码的益处是宏代码无需变的状况下,字符串数组和作用宏的相匹配是能够依据必须开展随便调节的。

编码构造清楚,便于维护保养。

2 完成源代码

1)完成编码

一切表明,尽在注解中啦!编码能够了解为级别鉴定吧,现实意义并不大,大伙儿多关心这一小编码的构造吧!

#include <stdio.h>  #include <stdlib.h>    // 作用宏散转序号   #define ONE_STAR    1  #define TWO_STAR    2  #define THREE_STAR  3  #define FOUR_STAR   4  #define FIVE_STAR   5    #define ZERO        0    // 失效键入返回值       /* 界定搜索相匹配表结构及搜索表二维数组 */  static struct lookuptable   {       char *str;   // 偏向字符串数组        int code;    // 相匹配宏作用码   }tab[]= {            // 字符串数组口与作用标示红的相匹配表,能够依据必须随便调节,下边的1-5能够换为随意字符串数组,仅仅键入时(搜索时)还要一一对应上        {"1", ONE_STAR},        {"2", TWO_STAR},       {"3", THREE_STAR},       {"4", FOUR_STAR},       {"5", FIVE_STAR}  };     // 查找函数申明  SearchFunc(char *s);      int main(int argc, char *argv[])   {           int score = 0;        char str[10] = "\0";               printf("Please input number 1-5 to evaluate: ");           gets(str);           // 依据评星开展解决,这儿便是简易的取值,具体运用中能够依据必须大量         switch(SearchFunc(str))        {             case ONE_STAR:             {                  score  = 1;                  break;             }                     case TWO_STAR:             {                  score  = 2;                  break;             }                    case THREE_STAR:            {                 score  = 3;                 break;            }                case FOUR_STAR:            {                 score  = 4;                 break;            }                case FIVE_STAR:            {                 score  = 5;                 break;            }                      case ZERO:  // 失效的状况,复印失效提高             {                 printf("\nYour input is invaild!\n");                 break;            }            }            // 键入合理才开展评星复印        if(SearchFunc(str)!=ZERO)       {            printf("\nThe score is: %d\n",score);       }          return 0;  }      /* 宏作用查找函数 */    SearchFunc(char *s)  {        int i;            for(i=0; i< sizeof(tab)/sizeof(tab[0]); i )        {              if(strcmp(tab[i].str, s)==0)              {                    return tab[i].code;              }        }           return ZERO;     // 键入不会再范畴内标识为0   } 

2)运作結果

① 键入值在合理范畴1-5时,結果以下:

② 键入值没有合理范畴内时,結果以下:

文中转载微信公众平台「内嵌式杂牌军」,能够根据下列二维码关心。转截文中请联络内嵌式杂牌军微信公众号。

the end

免责声明:本文不代表本站的观点和立场,如有侵权请联系本站删除!本站仅提供信息存储空间服务。

网址:编程意识——将字符串与功能宏进行绑定 http://c.mxgxt.com/news/view/1179119

相关内容

SQL截取字符串
账号绑定功能接入
其实从知道刘畊宏这个人,他就是和周董“绑定”的……
手机QQ中如何设置显示绑定闺蜜情侣基友亲密关系标识
WCL近期的开发计划,支持国服角色绑定,添加微信/支付宝支付功能
江宏杰事业甩开福原爱,客串新剧获得好评,将进入影视界发展
《古汉语常用字字典》编纂50年座谈会举行
启明店App用户账户绑定教程
李佳琦两度致歉背后:曾与花西子深度绑定 直播平台“去头部”进行时
印象笔记怎么与微信绑定?具体操作流程介绍

随便看看