#include<iostream>
using namespace std;
int main() {
char ch[50], s[50];
cin >> ch >> s;
int count = 0;
int i=0;
for (i; i < strlen(ch); i++) {
int j = 0;//每次都从子串的第一个开始比对
bool flag = true;//每次都设置一个flag来表示有没有进入while循环
while (*(s + j) == *(ch + i)) {//如果这一位一样,就继续下一位
j++;
i++;
if (j == strlen(s)) {//如果j此时等于子串的长,就说明子串扫描完了,即找到了主串中子串的位置
flag = false;
count++;
i--;
break;
}
}
if (i+1==strlen(ch)&&flag == true) {//如果已经扫描到ch的最后一位(因为从0开始,所以i+1),并且flag还是为true,那就说明根本没进入while循环,也就是在主串里根本找不到这个子串
cout <<"没有找到子串" << endl;
break;
}
}
cout << count << endl;
return 0;
}
初学c++ 有些的不对而地方,欢迎指出