0
#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'

入力を入力した場合など、出力が予期しない場合があります。

入力::xnhcigytnqcmy

出力::.xnhcgytnqcmy

期待される出力:

.xnhcgtnqcm

では、どこで間違いを犯しているのか誰にもわかりますか?

4

1 に答える 1

4

tolower()でプロトタイプ化されてい<ctype.h>ます。このヘッダー ファイルをインクルードする必要があります。

于 2018-12-04T14:24:22.350 に答える