Считать набор текстовых строк и напечатать самую длинную из них - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Программа читает набор текстовых строк и печатает самую длинную из них. Код:
#include <stdio.h>
 
#define MAX_LINE 1000
 
int get_line(char line[], int MAX_LINE);
void copy(char to[], char from[]);

main()
{
    int len;
    int max;
    char line[MAX_LINE];
    char longest[MAX_LINE];
    max = 0;
    while ((len = get_line(line, MAX_LINE)) > 0)
        if (len > max) {
            max = len;
            copy(longest, line);
        }
    if (max > 0)
        printf("%s", longest);
    return 0;
}

int get_line(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;
}

void copy(char to[], char from[])
{
    int i;
    i = 0;
    while ((to[i] = from[i]) != '\0')
        ++i;
}
Ошибки при компиляции: test.c:3:18: error: expected ‘;’, ‘,’ or ‘)’ before numeric constant #define MAX_LINE 1000 test.c:5:31: note: in expansion of macro ‘MAX_LINE’ int get_line(char line[], int MAX_LINE); Не понимаю что ему от меня надо

Решение задачи: «Считать набор текстовых строк и напечатать самую длинную из них»

textual
Листинг программы
int get_line(char line[], int MAX_LINE);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы