编写一个程序,该程序输入若干文本和一个查找字符串,然后用函数strstr来确定查找字符串在这行文本中出现的总次数。
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "string.h"
int strstr(char *a,char *b){
char *strstr(const char *,const char *);
int sum=0,ln=strlen(b);
while(a=strstr(a,b)){
sum++;
a+=ln;
}
return sum;
}
int main(void){//测试一下
char *a="123456789012345678901234567890",*b="345";
printf("%d\n",strstr(a,b));
return 0;
}追问
int sum=0,ln=(int)strlen(b);
while(a=strstr(a,b)){
sum++;
a+=ln;
}
return sum;
}
int main(void){
char *a="123456789012345678901234567890",str[20];
printf("Input a string to find...\nstr=");
gets(str);
printf("%d\n",mystrstr(a,str));
return 0;
}
#include "stdio.h"
#include "string.h"
int strstr(char *a,char *b){
char *strstr(const char *,const char *);
int sum=0,ln=strlen(b);
while(a=strstr(a,b)){
sum++;
a+=ln;
}
return sum;
}
int main(void){//测试一下
char *a="123456789012345678901234567890",*b="345";
printf("%d\n",strstr(a,b));
return 0;
}追问
int strstr(char *a,char *b) 这个报错了
在*b这里输入一个字符,然后再*a里查找与*b这个字符相同的总个数,然后打印出来就可以的,麻烦了!
我这里没有发现报错……
你看一下 有报错 这个是在xcode环境下面的
改如下吧,你的编译器认为strstr函数名与库函数名重复了,还认为ln=strlen(b)等号两边类型不匹配!
int sum=0,ln=(int)strlen(b);
while(a=strstr(a,b)){
sum++;
a+=ln;
}
return sum;
}
int main(void){
char *a="123456789012345678901234567890",str[20];
printf("Input a string to find...\nstr=");
gets(str);
printf("%d\n",mystrstr(a,str));
return 0;
}
温馨提示:答案为网友推荐,仅供参考