title: what does, "passing argument 2 of 'strstr' makes pointer from integer without a cast," mean in C
body: <p>I'm trying to have a list of cheeses that you can search through to get to a certain one. When I am done I also want to add info about each one. But every time I run my code I get the error shown in the title. Here is my code:</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  #include&lt;string.h&gt;
  
  int main()
     {    
      char cheeses[][20] = {
          "Cheddar",
          "White Cheddar",
          "Colby Jack",
          "Gouda",
          "Blue Cheese",
          "Gorgonzola",
          "Asiago", 
          "Limburger",
          "Feta",
          "Brie",
       };
  
           void find_cheese(char search_for)
       {
           int i;
           for (i = 0; i &lt; 5; i++) {
               if (strstr(cheeses[i], search_for))
                   printf("Cheese %i: '%s'\n", i, cheeses[i]);
            }
      }
  
  int main()
      {
          char search_for[20];
          printf("Search for: ");
          fgets(search_for, 20, stdin);
          find_cheese(search_for);
          return 0;
       }
  }
  </code></pre>
  
  <p>Why is this happening? I've looked it up in my book, but can't seem to find the answer.</p>