объединение case-ов в swich

Тема в разделе "WASM.BEGINNERS", создана пользователем vanilly_cpp, 28 мар 2008.

  1. vanilly_cpp

    vanilly_cpp New Member

    Публикаций:
    0
    Регистрация:
    29 ноя 2007
    Сообщения:
    68
    Допустим есть некий switch:

    switch(i)
    {

    case 1:
    {
    printf("%s", "less 10");
    }
    break;
    case 2:
    {
    printf("%s", "less 10");
    }
    break;
    default:
    {
    printf("%d ", 10);
    }
    }

    Вопрос: Возможно ли объеденить case 1: и case 2:, так чтобы записать их в одном
    и чтоб действие записанное в данный case выполнялось в случае i == 1 || i == 2

    если возможно, то как?
     
  2. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Код (Text):
    1. switch(alfa)
    2. {
    3.     case 1:
    4.     case 2:
    5.             тут твои дела
    6.     BREAK;
    7.     CASE 5:
     
  3. vanilly_cpp

    vanilly_cpp New Member

    Публикаций:
    0
    Регистрация:
    29 ноя 2007
    Сообщения:
    68
    >> wsd
    спасибо большое, буду знать!
     
  4. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Еще goto можно использовать :derisive:
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    инструкции после case: выполняются до первого break, поэтому можно еще и не такие конструкции сооружать..
    например,
    Код (Text):
    1. if (i == 2)
    2. {
    3.   printf("i equals 2\n");
    4. }
    5. if (i == 2 || i == 3 )
    6. {
    7.   printf("i is 2 or 3\n");
    8. }
    9. ...
    можно заменить на

    Код (Text):
    1. switch(i)
    2. {
    3. case 2:
    4.    printf("i equals 2\n");
    5. case 3:
    6.    printf("i equals 2 or 3\n");
    7.    break;
    8. ....
    9. }