国外互联网资讯网站,南宁网站制作费用,软件开发工具是协助软件开发人员,扬中网站优化公司题目
习题11-5 指定位置输出字符串 (20 分) 本题要求实现一个函数#xff0c;对给定的一个字符串和两个字符#xff0c;打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。
函数接口定义#xff1a; char *match( char *s, char ch…题目
习题11-5 指定位置输出字符串 (20 分) 本题要求实现一个函数对给定的一个字符串和两个字符打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。
函数接口定义 char *match( char *s, char ch1, char ch2 ); 函数match应打印s中从ch1到ch2之间的所有字符并且返回ch1的地址。
输入样例1 program r g 输出样例1 rog rogram 输入样例2 program z o 输出样例2 (空行) (空行) 输入样例3 program g z 输出样例3 gram gram
代码
#include stdio.h#define MAXS 10char *match( char *s, char ch1, char ch2 );
#includestring.h
char *match( char *s, char ch1, char ch2 ){int m strlen(s);char *k\0;int l1;//判断有没有找到第一个ch1没有找到l为1找到的话l为0for(int i0;im;i){if(s[i]ch1){l0;ks[i];//第一个ch1的地址int j;for(ji;s[j]!ch2jm;j){//一直查printf(%c,s[j]);}if(s[j]ch2)printf(%c\n,s[j]);else printf(\n);}if(l0) break;}if(l1) {// ch1找不到的情况printf(\n);return sstrlen(s);}return k;
}
int main()
{char str[MAXS], ch_start, ch_end, *p;scanf(%s\n, str);scanf(%c %c, ch_start, ch_end);p match(str, ch_start, ch_end);printf(%s\n, p);return 0;
}/* 你的代码将被嵌在这里 */sample2, ch1找不到, ch2找到这个样例一直答案错误后面发现不能返回一个’\0‘,而要返回sstrlen(s)