题目描述:
如字符串str1为''abcdef'''
字符串str2为'' bc'';
则字符串str1中含有字串str2;
#include <stdio.h> #include<malloc.h> #include<memory.h> #include<assert.h> int Whether_Is_Substring(char* str1, char * str2) //这个函数只是找到了str1中第一个和字串相同字串 { //还可以设立一个计数器统计str1中一共包含有几个相同字串 assert(str1); assert(str2); int i = 0; int j = 0; while(str1[i] != ' ') { while(str1[i] ==str2[j]) //因为是字串问题,必须连续地比 { i++; j++; } if(str2[j] ==' ') //当字串到达' '时,就说明字符串str1中含有字符串str2 return 1; else //如果没有到达' ',str2就要重新从第1个字符比起, j = 0; i++; } return 0; } int main() { char str1[] ="afdasfg"; char str2[] ="fd"; int a = Whether_Is_Substring(str1, str2); //1代表str1包含str2; if(0 == a) printf("字符串str1中不包含字符串str2 "); else printf("字符串str1中包含字符串str2 "); return 0; }