Page 153 - C-Language
P. 153

break;

                case BLUE:
                 color_name = "BLUE";
                 break;
             }
             printf("%s\n", color_name);
         }


        With a main function defined as follows (for example):


         int main(){
             enum color chosenColor;
             printf("Enter a number between 0 and 2");
             scanf("%d", (int*)&chosenColor);
             printColor(chosenColor);
             return 0;
         }


        C99


        Example 2


        (This example uses designated initializers which are standardized since C99.)


         enum week{ MON, TUE, WED, THU, FRI, SAT, SUN };

         static const char* const dow[] = {
           [MON] = "Mon", [TUE] = "Tue", [WED] = "Wed",
           [THU] = "Thu", [FRI] = "Fri", [SAT] = "Sat", [SUN] = "Sun" };

         void printDayOfWeek(enum week day)
         {
            printf("%s\n", dow[day]);
         }


        The same example using range checking:


         enum week{ DOW_INVALID = -1,
           MON, TUE, WED, THU, FRI, SAT, SUN,
           DOW_MAX };

         static const char* const dow[] = {
           [MON] = "Mon", [TUE] = "Tue", [WED] = "Wed",
           [THU] = "Thu", [FRI] = "Fri", [SAT] = "Sat", [SUN] = "Sun" };

         void printDayOfWeek(enum week day)
         {
            assert(day > DOW_INVALID && day < DOW_MAX);
            printf("%s\n", dow[day]);
         }


        Typedef enum






        https://riptutorial.com/                                                                             129
   148   149   150   151   152   153   154   155   156   157   158