LINUX.ORG.RU

Это точно из книги? Вот такой патч на 4ю строку должен помочью

- int getline(char line[], int MAXLINE);
+ int getline(char line[], int WTFMAXLINE);

Reset ★★★★★ ()
Ответ на: комментарий от hired777

Попробуй переименовать getline в my_getline

Плюсую.

eugeno ★★★★★ ()

Хоть бы перепечатал из книжки правильно, что ли.

--- getline.c.orig      Tue Jan  8 15:28:32 2013
+++ getline.c   Tue Jan  8 15:29:26 2013
@@ -1,10 +1,10 @@
 #include <stdio.h>
 #define MAXLINE 1000
 
-int getline(char line[], int MAXLINE);
+int my_getline(char s[], int lim);
 void copy(char to[], char from[]);
 
-main()
+int main()
 {
        int len;
        int max;
@@ -12,7 +12,7 @@
        char longest[MAXLINE];
 
        max = 0;
-       while (len = getline(line, MAXLINE)) > 0)
+       while ((len = my_getline(line, MAXLINE)) > 0)
                if (len > max)
                {
                        max = len;
@@ -23,13 +23,13 @@
        return 0;
 }
 
-int getline(char s[], int lim)
+int my_getline(char s[], int lim)
 {
        int c, i;
 
        for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
                s[i] = c;
-       for (c == '\n')
+       if (c == '\n')
        {
                s[i] = c;
                ++i;
beastie ★★★★★ ()
Ответ на: комментарий от AlexCones

Интересно, во времена K&R такой функции не было? О_о

Как раз из книжки оно в библиотеку и перебралось. ☺

beastie ★★★★★ ()
Ответ на: комментарий от beastie

Хоть бы перепечатал из книжки правильно, что ли.

В том то и дело, что моя единственная ошибка - это for вместо if. Остальное - так и есть в книге. 3-е, исправленное издание.

AlexCones ★★★ ()
Ответ на: комментарий от AlexCones

Не, в книжке оно всё правильно (издание второе, оригинал на англиском) — компилится с первого пинка (с поправкой на my_getline). Что впрочем только говорит о качестве русского перевода или твоей невнимательности, что более вероятно.

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 2)

main()

я тебе уже говорил, что следует выбросить твою редакцию

derlafff ★★★★★ ()
Последнее исправление: derlafff (всего исправлений: 1)
Ответ на: комментарий от AlexCones

Интересно, во времена K&R такой функции не было? О_о

Во времена K&R даже C ещё не было, им пришлось его изобретать.

const86 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.