编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数
。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字符串为:
as,则应输出6。
#include"stdio.h"
#include"string.h"
#include"conio.h"
#define M 80
#define N 10
int fun(char m[M],char n[N])
{int i,j,t,z,cont=0;
char k[N]; \\定义新的数组,用来存放截取的字符串
t=strlen(n);
j=strlen(m);
for(i=0;i<j;i++)
{z=0; \\还原k[]的下标值
{for(i=i;i<i+t&&i+t<j;i++) \\依次截取与N[]等长的一段存放在K[]中
{k[z++]=m[i];
k[z]='\0';}
if(!strcmp(k,n)) \\若K与N相同,则CONT自加1
cont++;}
}
return cont;}
void main()
{char m[M],n[N];
int z;
printf("intput 1:\n");
gets(m);
printf("intput 2:\n");
gets(n);
z=fun(m,n);
printf("cont=%d\n",z); \\当红字部分改为printf("cont=%d\n",fun);时却提示有错误
getch();}
为什么我的程序不能得到想要的效果,到底哪个地方出了问题,请路过的帮忙看下,感谢!!!
现在编程序真郁闷没有一个是不出错的~麻烦大家了~