Comutador com operador lógico em C

Eu sou novo em C e preciso de ajuda. Meu código é o seguinte.

 #include<stdio.h>  
 #include<conio.h>  
 void main()
 {

  int suite=2;  

  switch(suite)
     {           
      case 1||2:
      printf("hi");

      case 3:
      printf("byee");

      default:
      printf("hello");
     }

  printf("I thought somebody");
  getche();
  }

Eu estou trabalhando no Turbo C e a saída éhelloI thought somebody. Não há mensagem de erro.

Por favor, deixe-me saber como isso está funcionando.

questionAnswers(5)

yourAnswerToTheQuestion