title: Why doesn't strstr appear to be working in my C program?
body: <p>The source code is below:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;string.h&gt;
  
  char tracks[][80] = {
  "I left my heart in Harvard Med School",
  "Newark, Newark - a wonderful town",
  "Dancing with a Dork",
  "From here to maternity",
  "The girl from Iwo Jima",
  };
  
  
  void find_track(char search_for[]) {
      int i;
      for (i=0; i&lt;5; i++) {
          if (strstr(tracks[i], search_for)) {
              printf("Track %i: '%s'\n", i, tracks[i]);
          }
      }
  }
  
  int main() {
      char search_for[80];
      printf("Search for:");
      fgets(search_for, 80, stdin);
      find_track(search_for);
      return 0;
  }
  </code></pre>
  
  <p>When I use the program as follows:</p>
  
  <blockquote>
    <p>Search for:town</p>
  </blockquote>
  
  <p>I would expect something like</p>
  
  <blockquote>
    <p>Track 1: 'Newark, Newark - a wonderful town'</p>
  </blockquote>
  
  <p>Instead my program exits and does not print anything.  What am I doing wrong?</p>