编写一个程序求一个子串在一个字符串中出现的次数,如果该字符不出现则返回0。用c语言编写代码
时间: 2024-05-13 17:19:33 浏览: 108
字符串寻找最长回文
以下是一个示例代码:
```
#include <stdio.h>
#include <string.h>
int countSubstring(char *string, char *substring) {
int count = 0;
int subLen = strlen(substring);
if (subLen == 0) {
return count;
}
char *pos = string;
while ((pos = strstr(pos, substring)) != NULL) {
count++;
pos += subLen;
}
return count;
}
int main() {
char string[100], substring[100];
printf("Enter a string: ");
fgets(string, 100, stdin);
printf("Enter a substring: ");
fgets(substring, 100, stdin);
int count = countSubstring(string, substring);
printf("The substring '%s' appears %d times in '%s'\n", substring, count, string);
return 0;
}
```
该程序使用 `countSubstring` 函数来计算一个字符串中子串出现的次数。该函数首先计算子串的长度,如果长度为0,则直接返回0。然后使用 `strstr` 函数在字符串中查找子串,每次找到一个子串后就将计数器增加1,并移动查找位置到该子串的下一个位置。最后返回计数器的值。
在 `main` 函数中,程序首先读取用户输入的字符串和子串,然后调用 `countSubstring` 函数来计算子串在字符串中出现的次数,并输出结果。
阅读全文