如何用C语言编写一个函数来计算一个长度为2的子字符串在另一个字符串中的重复次数?
时间: 2024-11-17 15:29:43 浏览: 6
C语言中计算字符串长度与分割字符串的方法
好的,我可以帮你编写一个使用C语言编写的函数,该函数用于计算一个长度为2的子字符串在另一个字符串中的重复次数。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
int countSubstring(char* str, char* subStr);
int main() {
char str[100], subStr[3];
printf("请输入原始字符串:");
scanf("%s", str);
printf("请输入子字符串:");
scanf("%s", subStr);
printf("子字符串在原始字符串中的重复次数为:%d\n", countSubstring(str, subStr));
return 0;
}
// 函数定义
int countSubstring(char* str, char* subStr) {
int count = 0;
int len = strlen(subStr);
for (int i = 0; i <= strlen(str) - len; i++) {
if (strncmp(&str[i], subStr, len) == 0) {
count++;
}
}
return count;
}
```
这个函数首先声明了一个名为`countSubstring`的函数,它接受两个参数:一个是要搜索的原始字符串,另一个是要查找的子字符串。函数使用`strlen`函数获取子字符串的长度,并使用`strncmp`函数比较子字符串和原始字符串的前len个字符是否匹配。如果匹配,计数器就会增加。最后,函数返回计数器的值,即子字符串在原始字符串中的重复次数。
请注意,这个函数假设输入的字符串只包含ASCII字符。如果你要处理包含非ASCII字符的字符串,你可能需要使用更复杂的方法来比较子字符串和原始字符串。
阅读全文