前提・実現したいこと
文字列中のある文字列を見つけて数えるプログラムを作りたいです。
(例)
文字列:This is a pen.
ある文字列:is
のとき、
isが3文字目、6文字目に見つかる
発生している問題・エラーメッセージ
無限ループになったり、14文字が見つかってしまいます。
該当のソースコード
C
1#include<stdio.h> 2#include<string.h> 3 4int main(void) { 5 6 char str[100]; 7 char str1[10]; 8 char str2[10]; 9 char ch; 10 printf("文字列を入力してください : "); 11 gets_s(str); 12 printf("調べたい英単語を入力してください : "); 13 gets_s(str1); 14 int count = 0; 15 int j = 0; 16 int s = 0; 17 int len = strlen(str1); 18 19 for (int i = 0; str[i] != '\0'; i++) { 20 for(j=0;str1[len-1];j++){ 21 if (str[i] == str1[j]) { 22 str2[s] = str1[j]; 23 s++; 24 } 25 printf("「%s」は. %d文字目に見つかりました!\n", str1, i + 1); 26 count++; 27 } 28 } 29 30 printf("「%s」は. 合計で%d文字. 見つかりました!\n", str1, count); 31 32 return 0; 33}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージ)
Visual Studio .cpp