#include <iostream> #include <cstring> using namespace std; bool cmp(char* i, char* j, int len) { for (int a = 0; a < len-1; a++) { if (*(i + a) != *(j + a)) return false; } return true; } int substrrrr(char* p, char* s, int sublen) {//p 子串 int num = 0 ; int c = 0; while (*s != '\0') { if (*s == *p) { //先找到头部匹配的位置 if (*(p + sublen - 1) == *(s + sublen - 1)) {//判断尾部是否也匹配 //cout << "尾部已匹配:" << *(p + sublen - 1) << endl; if (cmp(p, s, sublen-1)) { //内部也相等,说明此刻匹配到了一个子串 //cout << "发现一个" << endl; num++; //如果里面也相等,子串数加一 } } } s++; } return num; } int main() { char str[100] = { 0 }; char substr[100] = { 0 }; cin.getline(str, sizeof(str)); cin.getline(substr, sizeof(substr)); int count = 0, sublen = 0; char* f = substr; while (*f != '\0') { sublen++; f++; } // write your code here...... count = substrrrr( substr, str, sublen); cout << count << endl;// return 0; }