中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么將字符串與功能宏進行綁定

發布時間:2021-10-19 15:48:31 來源:億速云 閱讀:102 作者:iii 欄目:web開發

本篇內容主要講解“怎么將字符串與功能宏進行綁定”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么將字符串與功能宏進行綁定”吧!

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時,結果如下:

怎么將字符串與功能宏進行綁定

② 輸入值不在有效范圍內時,結果如下:

怎么將字符串與功能宏進行綁定

到此,相信大家對“怎么將字符串與功能宏進行綁定”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青海省| 华宁县| 文成县| 光泽县| 宿迁市| 鹿邑县| 容城县| 麦盖提县| 礼泉县| 新安县| 乐都县| 福州市| 楚雄市| 清河县| 磐安县| 石棉县| 无极县| 泉州市| 东莞市| 曲松县| 高阳县| 尚义县| 永和县| 封丘县| 耒阳市| 大同县| 和平区| 区。| 东兰县| 南京市| 杭锦后旗| 沙雅县| 大新县| 朝阳市| 灵武市| 台山市| 缙云县| 贞丰县| 武川县| 尉氏县| 米脂县|