下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。

简介: 下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。

代码如下所示:

int fun(char* s1, char* s2)
 {
  int i=0, j, k,count = 0;
  while(s1[i])//对s1进行遍历
  {
    for (j = i, k = 0; s2[k] == s1[j]; j++, k++)//每遍历一次s2,k的值会被初始化为0
    {                     //相当于s2会反复和s1的子字符串进行判断是否相等
      if (s2[k + 1] == '\0')//判断s2是否结束
      {
        count++;
        break;
      }
    } 
    i++;
  }
  return count;
}
int main() 
{
  char s1[80], s2[80];
  int count;
  gets(s1);
  gets(s2);
  count = fun(&s1[0], &s2[0]);//传递数组首地址和数组名均可
  printf("%d\n", count);
}

输出结果如下:

相关文章
|
1月前
|
语音技术
语音识别,print(“Hello“,end=‘‘)不换行的写法,\t代表着tab,print(“H\tW“),for循环的基础语法,把字符串遍历的写法,数itheima is有几个a
语音识别,print(“Hello“,end=‘‘)不换行的写法,\t代表着tab,print(“H\tW“),for循环的基础语法,把字符串遍历的写法,数itheima is有几个a
|
3月前
|
存储 C语言
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
49 0
|
9月前
|
存储 JavaScript 前端开发
【JS交互埋坑】事件函数自动将数字字符串String转为数值Number
【JS交互埋坑】事件函数自动将数字字符串String转为数值Number
54 0
|
9月前
|
Python
foreach、for in 和for of的区别?判断一个字符串中出现次数最多的字符,统计这个次数?
foreach、for in 和for of的区别?判断一个字符串中出现次数最多的字符,统计这个次数?
33 0
|
JavaScript 前端开发
javascript封装函数:substr函数实现自动截取长度超出限制字数的解决方案
javascript封装函数:substr函数实现自动截取长度超出限制字数的解决方案
78 0
|
Shell
shell:脚本数组list定义、长度获取、循环打印、数组切片、字符串转换
shell:脚本数组list定义、长度获取、循环打印、数组切片、字符串转换
1622 0
字符串统计:strlen函数的讲解,及其模拟实现
字符串统计:strlen函数的讲解,及其模拟实现
124 0
字符串统计:strlen函数的讲解,及其模拟实现
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
132 0
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
写一个函数,每调用一次这个函数,就会将num的值增加1
写一个函数,每调用一次这个函数,就会将num的值增加1
91 0
写一个函数,每调用一次这个函数,就会将num的值增加1
NPAPI中返回一个字串的正确做法
NPAPI中返回一个字串的正确做法
64 0