c语言怎么查找字符串出现次数

   2025-02-15 2170
核心提示:在C语言中,可以使用循环和条件判断来查找字符串中某个子串的出现次数。以下是一个示例代码:#include stdio.h#include string.h

在C语言中,可以使用循环和条件判断来查找字符串中某个子串的出现次数。以下是一个示例代码:

#include <stdio.h>#include <string.h>int countOccurrences(const char *str, const char *subStr) {    int count = 0;    int subStrLen = strlen(subStr);        while (*str) {        if (strncmp(str, subStr, subStrLen) == 0) {            count++;        }        str++;    }        return count;}int main() {    char str[100];    char subStr[100];        printf("请输入一个字符串:");    fgets(str, sizeof(str), stdin);    str[strcspn(str, "\n")] = '\0';  // 删除换行符        printf("请输入要查找的子串:");    fgets(subStr, sizeof(subStr), stdin);    subStr[strcspn(subStr, "\n")] = '\0';  // 删除换行符        int occurrences = countOccurrences(str, subStr);        printf("子串 \"%s\" 在字符串 \"%s\" 中出现了 %d 次。\n", subStr, str, occurrences);        return 0;}

在上面的代码中,countOccurrences 函数用于计算子串在字符串中出现的次数。内部使用了 strncmp 函数来比较字符串,while 循环遍历整个字符串,每次比较字符串的一部分是否与子串相等,如果相等则计数器加1,然后继续循环。最后返回计数器的值。

main 函数中,首先接收用户输入的字符串和子串。然后调用 countOccurrences 函数来计算子串在字符串中出现的次数,并将结果打印出来。

注意:

在程序中使用了 fgets 函数来读取用户输入的字符串和子串,使用 strcspn 函数删除输入字符串中的换行符。该代码只能计算子串在字符串中连续出现的次数,如果要计算非连续出现的次数,需要进行修改。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言