谁能详细告诉我,为什么我正在观看此程序的警告?

时间:2018-12-04 14:21:50

标签: c tolower implicit-declaration

#include<stdio.h>
#include<string.h>
int main()
{
    char input[102], output[210];
    int i=0;

    scanf("%s",input);

    for(i=0;i<strlen(input);i++)
    {
        if(tolower(input[i])=='o'|| tolower(input[i])=='i' || tolower(input[i])=='a' || tolower(input[i])== 'e'
           || tolower(input[i])=='u')
            continue;
        else
            printf(".%c",tolower(input[i]));

    }
}

运行此代码时,它显示以下警告,

  

函数“ tolower”的隐式声明[-Wimplicit-function-declaration]

    if(tolower(input[i])=='o'|| tolower(input[i])=='i' || tolower(input[i])=='a' || tolower(input[i])== 'e'

有时输出是意外的,例如,如果我输入输入:

  

input :: xnhcigytnqcmy

     

output :: .. x.n.h.c.g.y.t.n.q.c.​​m.y

预期输出:

  

.x.n.h.c.g.t.n.q.c.​​m

那么谁能告诉我我在哪里犯错了?

1 个答案:

答案 0 :(得分:4)

tolower()<ctype.h>中的原型。您必须包含此头文件。