C语言编程(练习4:数组与指针)

题目:计算字符串中子串出现的次数。要求:用一个子函数 subString()实现,参数为指向字符串和要查找的子串的指针,返回次数

代码实现:

/**<  计算字符串中子串出现的次数。要求:用一个子函数 subString()实现,参数为指向
字符串和要查找的子串的指针,返回次数 */
#include <stdio.h>
#include <stdlib.h>

#define MAX 100

int subString(char *s, char *subs);
int main()
{
    char s[MAX];
    char subs[MAX];
    int num = 0;
    printf("输入字符串:\n");
    gets(s);
    printf("输入要查找的子串:\n");
    gets(subs);
    num = subString(s, subs);
    printf("字符串中子串出现的次数为:%d\n", num);
    return 0;
}

int subString(char *s, char *subs)
{
    int num=0;
    int i,j;
    for(i=0; s[i]!='\0'; i++)
    {
        for(j=0; subs[j]!='\0'; j++)
        {
            if(s[i+j] != subs[j])
            break;      //跳出内层循环
        }
        if(subs[j]=='\0')   //子字符串遍历一遍,计数值加1
        {
            num++;
        }
    }
    return num;
}

运行结果:

C语言编程(练习4:数组与指针)_第1张图片

你可能感兴趣的:(C语言编程(练习4:数组与指针))