title: strcmp only works at the start of a loop
body: <p>I've been trying to create a simple program that loops through an array's members and scan the characters looking for a set specific character. I have ran into an issue where <code>strcmp()</code> only works at the start of the loop. I'm struggling to understand why this happens and any help would be appreciated.</p>
  
  <pre><code>char *file[3] = {"!x", "!!x", "x!"};
  
  for (int i = 0; i &lt; sizeof(file) / sizeof(file[0]); i++) {
    char *line = file[i];
    printf("\n");
    for (int i = 0; i &lt; strlen(line); i = i + 1) {
      char character = line[i];
      if (strcmp("!", &amp;character) == 0) {
        printf("[YES] %c\n", character);
      } else {
        printf("[NO] %c\n", character);
      }
    }
  }
  </code></pre>
  
  <p><strong>Output</strong></p>
  
  <blockquote>
  <pre><code>[YES] !
  [NO] x
  
  [YES] !
  [NO] !
  [NO] x
  
  [NO] x
  [NO] !
  </code></pre>
  </blockquote>