できますか?私はファイルから読み込んでいる文字列から母音を出力する必要があります。なぜ私の条件はそれに合っていないのですか?出力母音は
if(mainArr[i]==vows[j])
{
res[l]=vows[j];
l++;
}
私は正常に私の文字列を読みますが、比較のために#include <string.h>
から特殊機能を使用するには、その必要性を推測します。 文字を比較するための別のバリアントを見つけることができますか?
マイコード:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fileIn;
int i,j,l,k,z;
char mainArr[40];
char vows[]={'a','e','i','o','y','u','A','E','I','O','Y','U'};
char res[30];
if ((fileIn = fopen ("1.txt","r"))!=NULL)
{
fgets(mainArr,40-1,fileIn);
puts(mainArr);
for (i=0;i<strlen(mainArr);i++)
{
for(j=0;j<strlen(vows);j++)
{
if(mainArr[i]==vows[j])
{
res[l]=vows[j];
l++;
}
}
}
for (k=0;k<l;k++)
{
printf("%c",res[k]);
}
}
return 0;
}
'j
kaylum
'l'を0に初期化したことはありませんので、あなたのコードには未定義の動作もあります。 'char * vows =" aeiouyAEIOUY ";を使用してヌル文字を終了させる方が良いでしょう - インデックス作成の代わりにポインタを使う方が効率的です。 –