C语言学习。今天学习了字符串的相关内容,学习了一个程序:
输入一个字符串,计算字符串中子串出现的次数
一:给定字符串和子串:
字符串:“hellosdfdshellodsfdshello”
子串:“hello”
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char * c = "hellosdfdshellodsfdshello";
char * d = "hello";
int n;
int num = 0;
n = strlen(d);
while(strlen(c) > 0)
{
if(strncmp(c,d,n) == 0)
{
num++;
c += n;
}
else
{
c++;
}
}
printf("%d\n",num);
return 0;
}
二:
字符串和子串为任意输入
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
char a[100];
printf("请输入字符串\n");
scanf("%s",a);
char * c = a;
char b[10];
printf("请输入子串\n");
scanf("%s",b);
char * d = b;
int n;
int num = 0;
n = strlen(d);
while(strlen(c) > 0)
{
if(strncmp(c,d,n) == 0)
{
num++;
c += n;
}
else
{
c++;
}
}
printf("%d\n",num);
return 0;
}