0

文字列内の母音と数字を検出する関数を作成しようとしています。文字列を繰り返し処理し、1 行の if ステートメントを実行して、文字が母音かどうかを確認しようとしています。以下のようなコード...

void checkString(char *str)
{
    char myVowels[] = "AEIOUaeiou";

    while(*str != '\0')
    {
        if(isdigit(*str))
            printf("Digit here");
        if(strchr(myVowels,*str))
            printf("vowel here");
        str++;
    }
}

数字チェックは完璧に機能します。ただし、「(strchr(myVowels,*str))」は機能しません。仮パラメータと実パラメータ1の異なるタイプを示しています。ここで誰か助けてもらえますか? ありがとう

4

1 に答える 1

1

ほとんどの場合、適切なヘッダーファイルがインクルードされていません。

これは問題なく機能します。

#include <stdio.h>
#include <ctype.h>
#include <string.h>

void checkString(const char *str)
{
    char myVowels[] = "AEIOUaeiou";

    printf("checking %s... ", str);

    while(*str != '\0')
    {
        if(isdigit(*str))
            printf("Digit here ");
        if(strchr(myVowels,*str))
            printf("vowel here ");
        str++;
    }

    printf("\n");
}

int main(void)
{
  checkString("");
  checkString("bcd");
  checkString("123");
  checkString("by");
  checkString("aye");
  checkString("H2CO3");
  return 0;
}

出力(ideone):

checking ... 
checking bcd... 
checking 123... Digit here Digit here Digit here 
checking by... 
checking aye... vowel here vowel here 
checking H2CO3... Digit here vowel here Digit here 
于 2013-02-11T10:54:53.067 に答える