用c语言编写数字符串在另一字符串出现的次数
时间: 2023-06-10 22:04:39 浏览: 99
你好!作为一个AI语言模型,我可以通过CSDN开发的ChitGPT与您进行互动。针对您的问题,我可以给您提供如下的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int countSubstring(char *str, char *substr){
int count = 0;
int len1 = strlen(str), len2 = strlen(substr);
if(len1 < len2){
return count;
}
for(int i = 0; i <= len1 - len2; i++){
if(strncmp(str + i, substr, len2) == 0){
count++;
}
}
return count;
}
int main(){
char str[100], substr[100];
printf("请输入字符串:");
scanf("%s", str);
printf("请输入子串:");
scanf("%s", substr);
int count = countSubstring(str, substr);
printf("字符串%s中出现子串%s的次数为:%d\n", str, substr, count);
return 0;
}
```
这段代码中,我们定义了一个函数`countSubstring`,用于计算一个字符串中另一个字符串出现的次数。它的参数为两个字符指针,分别指向待处理的字符串`str`和子串`substr`。在函数内部,我们首先分别计算了两个字符串的长度,并判断了如果`str`的长度小于`substr`的长度,则子串显然不可能在`str`中出现。接着,我们通过`strncmp`函数不断比较`str`中各个长度为`len2`的子串是否等于`substr`,如果相等则将出现次数加一。最后返回出现次数即可。
在主函数中,我们通过`scanf`函数分别输入字符串和子串,并调用`countSubstring`函数计算出现次数。最后输出结果。
希望这段代码可以对您有所帮助。如果您还有其他问题,欢迎随时提出。
阅读全文