title: empty switch case in C
body: <p>I'm reading through some books about C. I found the following <a href="http://en.wikibooks.org/wiki/A_Little_C_Primer/C_Console_IO" rel="nofollow">example to switch case in C</a>,
  which I try to understand ...</p>
  
  <pre><code>/* caps.c */
  
     #include &lt;stdio.h&gt;
     #include &lt;ctype.h&gt;
  
     #define SEEK 0
     #define REPLACE 1
  
     int main(void)
     {
       int ch, state = SEEK;
       while(( ch = getchar() ) != EOF )
       {
         switch( state )
         {
         case REPLACE:
           switch( ch )
           {
           case ' ':    //leaving case empty will go to default ???
           case '\t':
           case '\n':   state = SEEK;
                        break;
           default:     ch = tolower( ch );
                        break;
           }
           break;
         case SEEK:
           switch( ch )
           {
           case ' ':
           case '\t':
           case '\n':   break;
           default:     ch = toupper( ch );
                        state = REPLACE;
                        break;
           }
         }
         putchar( ch );
       }
       return 0;
     }
  </code></pre>
  
  <p>It is pretty clear to me that the mode SEEK, and then letters are Capitalized, and then mode is set to REPLACE, then letters are converted to lower.   But why empty spaces trigger again SEEK mode ?  Is this really the case in my comment ? </p>