将文件字符转换为大写

时间:2018-11-13 15:50:51

标签: c lowercase

用C写 我已经在主函数->

中使用了这个if循环
if(islower(ch))

我发现错误

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

为什么会这样?

2 个答案:

答案 0 :(得分:1)

您需要包含ctype.h,如下所示:

#include <ctype.h>

此头文件声明函数islower

int islower(int c);

答案 1 :(得分:0)

在定义函数之前调用函数时,会出现此类错误。考虑以下代码:

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;
}

这肯定可以解决您的问题。希望这对您有所帮助。让我知道是否还有其他需要。