计算一个字符串中字串出现的次数的程序

题目:编写一个计算一个字符串中字串出现的次数的程序?第11行,for循环里的“s1[i]”是啥意思?有什么作用?是子串出现的次数,前面打错啦,不好意思!... 题目:编写一个计算一个字符串中字串出现的次数的程序?
第11行,for循环里的 “ s1[i] ” 是啥意思?有什么作用?
是 子串 出现的次数,前面打错啦,不好意思!
展开
 我来答
我喜欢看火影ed
2015-07-18 · TA获得超过880个赞
知道小有建树答主
回答量:713
采纳率:76%
帮助的人:408万
展开全部
for()中间的位置是一个表达式,我们要是的真或假,
也就是判断s1[1]的返回值(也就是它的值)是非零或者零。
因为数组最后一定是要以'\0'作为结尾的,‘\0’就是0。
所以for()的意思是,只要s1[i]!='\0',就继续循环。
也就是数组没到结尾就循环。
追问
在If条件语句里,判断条件是否不等于0时,可以把 !=  省去。
你的意思是,for语句也可以?!
追答
对!
你说的对,for()语句中间的这个判断和if的判断是一样的。
百度网友ae58d71
2015-07-18 · TA获得超过350个赞
知道小有建树答主
回答量:371
采纳率:100%
帮助的人:260万
展开全部
应该是字符s1[i]不为空吧。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-07-18
展开全部
#include <stdio.h>
#include <string.h>
void main()
{
char str1[20], str2[20], *p1, *p2;
int sum=0;
printf("Please enter two strings\n");
scanf("%s%s", str1, str2);
p1=str1;
p2=str2;
while(*p1 != '\0')
{
if(*p1 == *p2)
{
while(*p1 == *p2 && *p2 != '\0')
{
p1++;
p2++;
}
}
else
p1++;
if(*p2 == '\0')
sum++;
p2=str2;
}
printf("%d", sum);
getchar();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式