指定位置输出字符串:输入一个字符串后再输人两个字符,输出此字符串中从与第1个字符匹配的位置开始到与第2个字符匹配的位置结束的所有字符。例如,输入字符串“ program”与2个字符“r”和“g”后,输出“rog”。要求自定义函数char * match(char*S, char ch1, char ch2)返回结果字符串的首地址。
#include <stdio.h>
#include<string.h>
char c[100];
char*match (char*s,char ch1,char ch2)
{
int i=0;
int j=0;
int k;
while(s[i]!='\0')
{
if(s[i]==ch1) //将开始位置确定下后,再进行以下循环
{
while(s[i]!=ch2) //没找到ch2时 ,将每一个是s[i]代表的元素赋给a[i],直到找到结束字符
{
c[j]=s[i];
j++;
i++;
}
c[j]=s[i]; //将结束字符赋给a[i]
break; //终止循环
}
i++;
}
k=strlen(c);
if(k==0)
return NULL;
if(c[k-1]!=ch2)
return NULL;
if(k!=0)
return c;
}
int main()
{
char s[100];
char ch1,ch2;
while(1)
{
scanf("%s", s);
getchar();
ch1=getchar();
getchar();
ch2=getchar();
match(s,ch1,ch2);
if(match(s,ch1,ch2)!=NULL)
puts(match(s,ch1,ch2));
else
printf("Not found!\n");
}
}