c语言:题目是计算字符串中子串出现的次数,看不懂......求解释

2025-02-25 16:04:15
推荐回答(1个)
回答1:

#include
char *sub(char *s, int start, int len)
{
int i,k;
for( i=0;s[i];i++ );
if ( start>i ) //当起始位置超过串长时,返回NULL
return NULL;
if ( i-start-1 return NULL ;
for( i=start-1,k=0;k s[k++]=s[i];
s[k]='\0';
return s;
}

int main()
{
int n;
scanf("%d", &n );
while( n-- )
{
char str[128];
int i,j;
printf("input string:" );
getchar();
gets(str);
printf("i=");
scanf("%d", &i );
printf("j=");
scanf("%d", &j );
if ( sub(str,i,j) )
printf("%s", str );
else
printf("%s", "Error" );
printf("\n");
}
return 0;
}