#include<stdio.h>
#include<string.h>int substring(char *str,char *str1);//函数原型int main(void){ char str[64]={0};char str1[16]={0};int i,j,x;printf("please put the string\n");gets(str);//输入的原字符串puts(str);printf("\n");printf("please put the string1 \n");gets(str1);//输入的字符串中的子串puts(str1);printf("\n");i=strlen(str);//原字符串长度j=strlen(str1);//子串长度printf("the string lenth is %d\n",i);printf("the string lenth is %d\n",j);x=substring(str,str1);printf("then anwser is %d\n",x);return 0;}int substring(char *str,char *str1){ int x=0;char *p;//任意附个初始值do{ p=strstr(str,str1);//1.p指针指向strstr的返回值。3.再一次循环到 这里函数的参数发生变化,p重新指向strstr返回值,如此循环。 if(p != NULL) { str=p+1;//2.str同样指向strstr返回值p的下一个地址。 x=x+1;}}while(p!=NULL);return x;}