ここに私のコードです。私は、ある単語(短い文字列)が文(長い文字列)内で出現する回数を調べる必要があります。 サンプル入力: 猫がマットに座っていた サンプル出力:2 何らかの理由により、文字列比較機能が動作しておらず、出力がゼロになっています。彼らがコードをデバッグするために置かれているので、コード内のコメントを無視してください。[C code]の文章で特定の単語が何回出現するかを調べる方法は?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
char word[50];
gets(word);
int len = strlen(word);
//printf("%d",len);
char nword[len];
char s[100];
strcpy(nword,word);
puts(nword);
printf("\n");
gets(s);
//printf("%d",strlen(s));
char a[50][50];
int i,j,k;
j = 0;
for(i=0;i<strlen(s);i++)
{
a[i][j] = s[i];
printf("%c",a[i][j]);
if(s[i] == ' ')
{
j++;
printf("\n");
}
}
printf("%d",j);
k = j;
//printf("\nk assigned\n");
j = 0;
//printf("j equal to zero\n");
int count = 0;
int temp = 0;
//printf("count initialized.\n");
for(i=0;i<k;i++)
{
if(strcmp(a[i],nword) == 0)
count++;
}
printf("\n%d",count);
return 0;
}
を開始するには、 'char型のnword [LEN]'変更char nword [len + 1]に変換します。 –