用C语言编写一个函数,该函数可以统计一个长度为 2 的字符串在另一个字符串中 出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字 符串为:as,则应输出 6。
时间: 2024-11-17 17:29:47 浏览: 24
要编写一个C语言函数来统计一个长度为2的子字符串在一个较长字符串中出现的次数,你可以创建一个名为`count_substring`的函数,如下所示:
```c
#include <stdio.h>
#include <string.h>
int count_substring(const char* str, const char* substr) {
int count = 0;
size_t substr_len = strlen(substr);
while (strstr(str, substr) != NULL) { // 使用strstr查找子字符串
count++;
str += substr_len; // 移动str指针到下一个可能的位置
}
return count;
}
int main() {
const char* input_str = "asd asasdfg asd as zx67 asd mklo";
const char* sub_str = "as";
int result = count_substring(input_str, sub_str);
printf("The substring '%s' appears %d times in the given string.\n", sub_str, result);
return 0;
}
```
在这个函数中,我们使用`strstr`函数来查找子字符串在原字符串中的位置。如果找到子字符串,就增加计数器并移动原字符串指针到下一个可能的开始位置,继续搜索。
请注意,这个函数假设输入的子字符串和原始字符串都是有效的C字符串。如果输入不是这样,可能会导致错误。在实际应用中,可能需要添加额外的错误检查。
阅读全文