Преобразовать символ файла в верхний регистр - PullRequest
0 голосов
/ 13 ноября 2018

Написано на C Я использовал это, если цикл в основной функции ->

if(islower(ch))

Я нахожу ошибку как

:warning :implicit declaration of function 'islower'
if(islower(ch))

Почему это так?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Этот тип ошибки возникает при вызове функции до ее определения. Рассмотрим следующий код:

int main()
{
  char ch= 'a';
  if (islower(ch))
  {
    ch = ch - 32; // difference of ascii values between upper and lower case is 32 
  }

  printf("%c ", ch);
  return 0;
}

int islower(char ch)
{
  if ('a' <= ch && ch <= 'z')
     return 1;
  else
     return 0;
}

Вы получите эту ошибку, потому что вы вызываете функцию islower() перед ее определением. Так что просто передайте прототип функции перед вызовом. Вы можете добавить строку int islower(char); перед основной, как указано ниже.

int islower(char);

int main()
{
  char ch= 'a';
  if (islower(ch))
  {
    ch = ch - 32; // difference of ascii values between upper and lower case is 32 
  }

  printf("%c ", ch);
  return 0;
}

int islower(char ch)
{
  if ('a' <= ch && ch <= 'z')
     return 1;
  else
     return 0;
}

Конечно, это решит твою проблему. Надеюсь, это поможет вам. Дайте мне знать, если что-нибудь еще понадобится.

0 голосов
/ 13 ноября 2018

Вам необходимо включить ctype.h следующим образом:

#include <ctype.h>

Этот заголовочный файл объявляет функцию islower:

int islower(int c);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...