Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2018, 15:08   #1
Kollip
Новичок
Джуниор
 
Регистрация: 12.02.2018
Сообщений: 2
По умолчанию |9|warning: return type defaults to 'int' [-Wimplicit-int]|

Написал вот такую программу:
#include <stdio.h>
#define MAXLINE 1000 /* максимальный размер вводимой строки */
int max; /* длина максимальной из просмотренных строк */
char line[MAXLINE]; /* текущая строка */
char longest[MAXLINE]; /* самая длинная строка */
int getline(void);
void copy(void);
/* печать самой длинной строки: специализированная версия */
main()
{
int len;
extern int max;
extern char longest[];
max = 0;
while ((len = getline()) > 0)
if (len>max){
max = len;
copy();
}
if (max>0) /* была хотя бы одна строка */
printf("%s", longest);
return 0;
}
/* getline: специализированная версия */
int getline(void)
{
int c, i;
extern char line[];
for (i= 0; i < maxline-1 && (c=getchar()); !=EOF && C!+'\n' ++i)
line[i] = c;
if (c == '\n') {
line[i]= c;
++i;
}
line[i] = '\0';
return i;
}
/* copy: специализированная версия */
void copy(void)
{
int i;
extern char line[], longest[];
i = 0;
while ((longest[i] = line[i]) != '\0')
++i;
}

Постоянно вылазят вот такие шибки:
||=== Build: Debug in fsfsfs (compiler: GNU GCC Compiler) ===|
|9|warning: return type defaults to 'int' [-Wimplicit-int]|
||In function 'getline':|
|29|error: 'maxline' undeclared (first use in this function)
|29|note: each undeclared identifier is reported only once for each function it appears in|
|29|error: expected expression before '!=' token|
||=== Build failed: 2 error(s), 1 warning(s) (0 minute(s), 1 second(s)) ===|

Можете рассказать что ни так и как исправить?
Kollip вне форума Ответить с цитированием
Старый 12.02.2018, 15:36   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

c/c++ регистрозависимые.
поэтому не найденный в 29 строке maxline это совсем не MAXLINE


Цитата:
Сообщение от Kollip Посмотреть сообщение
!=EOF
а смысл этого даже я понять не смог, не говоря уже про компилятор...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.02.2018, 14:42   #3
Kollip
Новичок
Джуниор
 
Регистрация: 12.02.2018
Сообщений: 2
По умолчанию

!= EOF - это конец файла, и вроде бы он тут нужен, иначе программа будет сканировать файл и дальше. Или я не прав?

Как бы оставили это или убрали?
Kollip вне форума Ответить с цитированием
Старый 13.02.2018, 15:04   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

1. Это не конец файла.
2. У вас нет файлов.
3. Это не записано не в условии цикла
4.
Код:
!=EOF && C!+'\n' ++i
- это ваш шаг цикла. Внимание вопрос: какая переменная изменилась и насколько?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обратиться к элементу, если разные типы данных (int* и int) Fanyuus Общие вопросы C/C++ 4 03.06.2013 23:47
Двухзначное число int записать как пару однозначных int (c++) narien Помощь студентам 2 08.01.2012 15:10
функция float average(int arrray[],int from,int to) yuliyayuliya Помощь студентам 0 25.04.2011 21:55
error: '::main' must return 'int' Without Soul Общие вопросы C/C++ 9 24.03.2011 07:26
Ошибка`main' must return `int' Hichigo Общие вопросы C/C++ 9 26.02.2011 15:33