转载转载 指定位置输出字符串

输入一个字符串后再输人两个字符,输出此字符串中从与第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"); } }
posted @ 2018-12-16 21:36 菜鸟求大佬 阅读(...) 评论(...) 编辑 收藏