下面的函数统计子字符串substr在字符串str中出现的次数 }
题目:下面的函数统计子字符串substr在字符串str中出现的次数,如果substr在str中不出现,则返回值0。请完成该函数。格式:intstr_count(char*...
题目:下面的函数统计子字符串substr在字符串str中出现的次数,如果substr在str中不出现,
则返回值0。请完成该函数。格式:
int str_count(char *substr, char *str)
输出结果见图:样张.JPG
-------------------------------------------------------*/
#include <iostream>
#include <cstring>
using namespace std;
/**********Program**********/
int str_count(char *substr, char *str)//请问substr与str之前为什么要加*?有什么作用吗?
{
int sum,len;
char *p;
len = strlen(substr);
if(len<1)
return -1;
for(sum=0,p=str;;)
{
p = strstr(p,substr);
if(p!=NULL)
{
sum++;
p=p+len;
}
else
break;
}
return sum;
}
/********** End **********/
void main(void)
{
char ss[100];
char *s="ABCDabcd1234+-*/XYZxyz/ABCDabcd1234+-*/Aa1 ABCDabcd";//为什么s要用指针?
cout<<"母串="<<s<<endl;
cout<<"待计数子串=";
cin.getline(ss,99);
cout<<"子串在母串中共出现"<<str_count(ss,s)<<"次"<<endl;
}
1.请问substr与str之前为什么要加*?有什么作用吗?
2.为什么s要用指针?
本人是c++初学者,请说得简单,详细些 展开
则返回值0。请完成该函数。格式:
int str_count(char *substr, char *str)
输出结果见图:样张.JPG
-------------------------------------------------------*/
#include <iostream>
#include <cstring>
using namespace std;
/**********Program**********/
int str_count(char *substr, char *str)//请问substr与str之前为什么要加*?有什么作用吗?
{
int sum,len;
char *p;
len = strlen(substr);
if(len<1)
return -1;
for(sum=0,p=str;;)
{
p = strstr(p,substr);
if(p!=NULL)
{
sum++;
p=p+len;
}
else
break;
}
return sum;
}
/********** End **********/
void main(void)
{
char ss[100];
char *s="ABCDabcd1234+-*/XYZxyz/ABCDabcd1234+-*/Aa1 ABCDabcd";//为什么s要用指针?
cout<<"母串="<<s<<endl;
cout<<"待计数子串=";
cin.getline(ss,99);
cout<<"子串在母串中共出现"<<str_count(ss,s)<<"次"<<endl;
}
1.请问substr与str之前为什么要加*?有什么作用吗?
2.为什么s要用指针?
本人是c++初学者,请说得简单,详细些 展开
2个回答
展开全部
您好,对于字符串的处理就是定义字符数组,如char c[4]=“adc”,这个是可以把字符串赋值进去,其实这种写法等价于char *c=“abc”,char *是定义一个指针,所以加*,如果是*c则代表的是C指向的字符,我刚刚的实例中*c就是a.数组的函数参数都是定义指针哦,当然你也可以定义数组,其实是一样的,写法不一样,效果完全一样,可以认为是同一样东西。
第二个和上面解释一样,你可以用数组,数组其实就是定义了一个指针,不过数组会告诉你指向的空间总大小,直接定义指针不会,但定义指针时进行初始化的赋值,就和定义数组效果一样了。
第二个和上面解释一样,你可以用数组,数组其实就是定义了一个指针,不过数组会告诉你指向的空间总大小,直接定义指针不会,但定义指针时进行初始化的赋值,就和定义数组效果一样了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询