Стандартный пример из ANSI C: #include <stdio.h> #define MAXLINE 10 int getline_check (char line[], int maxline); void copy (char to[], char from[]); main() { int len; /* current length */ int max; /*max checked length*/ char line[MAXLINE]; /*current string*/ char longest[MAXLINE]; /*longest string*/ max = 0; while ((len = getline_nocheck ()) > 0) if (len > max) { max = len; copy (longest, line); } if (max > 0) /* non-zero string ? */ printf("%s\n", longest); return 0; } /* getline: reads string to s, returns length */ int getline_check(char s[], int lim) { int c, i; for (i = 0; i < lim - 1 && (c = getchar ()) != EOF && c != '\n'; ++i) s[i] = c; if (c == '\n') { s[i] = c; ++i; } s[i] = '\0'; return i; } /*copy: copy from "from" to "to"; to is big*/ void copy(char to[], char from[]) { int i; i = 0; while ((to[i] = from[i]) != '\0') ++i; } task: модифицировать main() так, чтобы ограничений на размер строки не было. не пойму: 1. если только в main(), то остается же ещё getline с проверкой... 2. а в main() при определении символьных массивов-уже ограничение. т.е. можно как-то определить массив неопределенного размера, чтобы вбить туда впоследствии самую длинную строку ? что-то не дойдет никак, что хотели сказать авторы. вопрос: В каком направлении думать ? )))
Ответ на:
комментарий
от welkam
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум K&R Задача 1.16 (2015)
- Форум [C]Траблы с объявлением функции (2012)
- Форум [C, K&R примеры] Примеру 1.9, передача аргумента в функцию, откуда возбмется строка (2010)
- Форум Керниган-Ричи, задание 1.16 (2009)
- Форум [c, K&R] По какому событию должен выводится результат? (2010)
- Форум Массивы указателей K&R (2015)
- Форум Программа из K&R вопросы по warnings, полученные от gcc (2015)
- Форум oop в «чистом» си (2005)
- Форум Помогите поправить код си (2012)
- Форум Вопросы по коду из K&R readlines() strcpy(p, line) (2015)