title: Why do I get a "conflicting types for getline" error when compiling the longest line example in chapter 1 of K&R2?
body: <p>Here is a program I'm trying to run straight from section 1.9 of "The C Programming Language".</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #define MAXLINE 1000
  
  int getline(char line[], int maxline);
  void copy(char to[], char from[]);
  
  main()
  {
      int len;
      int max;
      char line[MAXLINE];
      char longest[MAXLINE];
  
      max = 0;
      while ((len = getline(line, MAXLINE)) &gt; 0)
          if (len &gt; max) {
          max = len;
          copy(longest, line);
          }
      if (max &gt; 0)
          printf("%s", longest);
  return 0;
  }
  
  
  int getline(char s[], int lim)
  {
      int c, i;
  
      for (i=0; i&lt;lim-1 &amp;&amp; (c=getchar()) !=EOF &amp;&amp; c != '\n'; ++i)
          s[i] = c;
      if (c == '\n') {
          s[i] = c;
          ++i;
      }
      s[i] = '\0';
      return i;
  }
  
  
  void copy(char to[], char from[])
  {
      int i;
  
      i = 0;
      while ((to[i] = from[i]) != '\0')
          ++i;
  }
  </code></pre>
  
  <p>Here is the error I get when I try to compile the program using Ubuntu 11.10:</p>
  
  <pre><code>cc     word.c   -o word
  word.c:4:5: error: conflicting types for ‘getline’
  /usr/include/stdio.h:671:20: note: previous declaration of ‘getline’ was here
  word.c:26:5: error: conflicting types for ‘getline’
  /usr/include/stdio.h:671:20: note: previous declaration of ‘getline’ was here
  make: *** [word] Error 1
  </code></pre>
  
  <p>Just to make sure it wasn't a problem with the print in the book, I referenced this set of answers to back of chapter exercises from the book (http://users.powernet.co.uk/eton/kandr2/krx1.html) and I get a similar error when I try to run exercises 18, 19, 20, 21, etc., from that link.  It's really hard to learn when I can't run the programs to see how they output. This issue started when introducing character arrays and function calls in one program. I'd appreciate any advice on this issue.</p>