title: Break and Continue (C)
body: <blockquote>
    <p>"Simon Says" is a memory game where "Simon" outputs a sequence of 10 characters (R, G, B, Y) and the user must repeat the sequence. Create a for loop that compares the two strings starting from index 0. For each match, add one point to userScore. Upon a mismatch, exit the loop using a break statement. </p>
    
    <p>Ex: The following patterns yield a userScore of 4:</p>
    
    <p>simonPattern: R, R, G, B, R, Y, Y, B, G, Y</p>
    
    <p>userPattern:  R, R, G, B, B, R, Y, B, G, Y</p>
  </blockquote>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;string.h&gt;
  
  int main(void) {
     char simonPattern[50] = "";
     char userPattern[50] = "";
     int userScore = 0;
     int i = 0;
  
     userScore = 0;
     strcpy(simonPattern, "RRGBRYYBGY");
     strcpy(userPattern, "RRGBBRYBGY");
  
     while (userPattern[i] = simonPattern[i]) {
        userScore = userScore + 1;
        ++i;
        if (userPattern[i] != simonPattern[i]) {
           break;
        }
     }
  
     printf("userScore: %d\n", userScore);
  
     return 0;
  }
  </code></pre>
  
  <p>I tried running the code, but I got this</p>
  
  <p><a href="http://i.imgur.com/T7srTbb.png" rel="nofollow">http://i.imgur.com/T7srTbb.png</a></p>
  
  <p>Does anyone know what's causing the extra 1?</p>
  
  <p>Thanks.</p>