C语言利用指针编程实现,统计子串substr在主串str中出现的次数
时间: 2024-03-22 20:40:03 浏览: 136
字符串处理
以下是利用指针编程实现统计子串在主串中出现次数的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int count_substr(char *str, char *substr) {
int count = 0;
int n = strlen(str);
int m = strlen(substr);
for(int i = 0; i <= n - m; i++) {
int j;
for(j = 0; j < m; j++) {
if(str[i+j] != substr[j])
break;
}
if(j == m)
count++;
}
return count;
}
int main() {
char str[100], substr[100];
printf("Enter the main string: ");
gets(str);
printf("Enter the substring: ");
gets(substr);
int count = count_substr(str, substr);
printf("The substring \"%s\" appears %d times in the main string \"%s\".\n", substr, count, str);
return 0;
}
```
首先定义了一个 count_substr 函数,该函数接受两个指向字符数组的指针 str 和 substr,返回子串在主串中出现的次数。
在主函数中,用户输入了主串和子串,然后调用 count_substr 函数,最后输出统计结果。
在 count_substr 函数中,首先计算主串和子串的长度,然后使用双重循环来逐个比较主串和子串中的字符,如果匹配成功,则 count 变量加 1。
最后返回 count 变量的值即为子串在主串中出现的次数。
阅读全文