Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Denisisk
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 1
1

Избиваться от предупреждения: "неявная декларация функции «strlen»?

27.02.2014, 21:15. Просмотров 1514. Ответов 1
Метки нет (Все метки)

Добрый день!Подскажите, пожалуйста, как избиваться от предупреждения:"неявная декларация функции «strlen»? Программа написана в среде Eclipse, ОС Ubuntu 12.04.
Условие:
Составить программу, определяющую, является ли заданная символьная строка с завершающим нулем палиндромом.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <locale.h>
#include <stddef.h>
 
#define MaxLength 255 //Максимальная длина вводимой строки
 
//Данная функция принимает строку и размер строки.
//Затем сравнивает 1ый символ сначала строки и с конца. Если символы разные, то функция возвращает 1
//если функция проходит до середины строки и различных символов не находит, то возвращает 0.
int PolindromTest(char *StrB, size_t n)
{
    for (ptrdiff_t i=0;i<(n/2); i++)
        if (*(StrB+i) != *(StrB+n-i-1)) return 0;
    return 1;
}
 
//Данная функция принимает строку и обеспечивает ввод данных в эту строку из канала stdin.
//Если была введена строка нулевой длины, то возвращает 1
//Если была введена строка длиной более 255 символов бозвращает 2
//Если ввод был корректен, то возвращает, длину строки.
//Ошибка ввода-3.
size_t InputString(char *StrB)
{
    if (fgets(StrB,MaxLength+5,stdin)==NULL) return 3;
    //const char *Strin=StrB;
    size_t i=strlen(StrB);
    i--;
    if (i>MaxLength) return 2;
    if (i==0) return 1;
    StrB[i]='\0';
    return 0;
}
 
 
int main()
{
    setlocale (LC_ALL,"RUS");
    printf("Данная программа опредлеят, является ли заданная символьная строка палиндромом.\nВведите строку, длиной не превышающей 256 знаков.\n");
    char String[MaxLength];//В строке String будет храниться строка.
    size_t len=InputString(String); //Длина строки.
    if (len==1)
    {
        printf("Была введена строка нулевой длины");
        return 0;
    }
    else if (len==3)
    {
        printf ("Ошибка ввода.");
        return 0;
    }
    else if (len==2)
    {
        printf("Длина введенной строки превышает 256 символов");
        return 0;
    };
    int Polindrom=PolindromTest(String, len);
    if (Polindrom)
        printf("Yes");
    else printf("Строка не является полиндромом");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 21:15
Ответы с готовыми решениями:

Одномерный массив. Простые числа. "Предупреждения" и "замечания" при компиляции в gcc под linux
Доброго времени суток. Нужна помощь. Не могу разобраться, почему не...

Почему в коде записано strlen()+1 вместо strlen()
здравствуйте. объясните пожалуйста. почему для выделения места на основе...

Ошибка и предупреждения в своей функции
Нужно вывести имена файлов без расширения. Написал функцию: int substr(char...

Узнать длину строки не щитая функции strlen
Как узнать длину строки не щитая функции strlen?

Неявная декларация функции «gets»
Доброе время суток! Столкнулся с такой проблемой. Мне нужно считывать текстовые...

1
uburuntu
95 / 95 / 58
Регистрация: 04.10.2012
Сообщений: 189
27.02.2014, 21:36 2
Вы забыли подключить string.h
C
1
#include <string.h>
Добавлено через 8 минут

Не по теме:

И определитесь уже "палиндром" или "полиндром" ;)

1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2014, 21:36

Отчет "Декларация по НДФЛ". На титульном листе не указана фамилия подписанта
Добрый делаю отчет декларация по НДФЛ пишет: На титульном листе не указана...

Декларация чистоты функции в сигнатуре
На вике haskell-у польстили: указали что в нём есть Декларации чистоты функций....

Неявная конвертация типа аргумента функции
Может кто тыкнуть в страницу в стандарте C++, во что конвертируется float...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru