本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。
函数接口定义:
char *match( char *s, char ch1, char ch2 );
函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。
裁判测试程序样例:
输入输出
c语言代码
char *match( char *s
, char ch1
, char ch2
)
{
char a
[MAXS
]="",*p
;
int i
=0,j
=0;
while((*(s
+i
)!=ch1
)&&(*(s
+i
)!=0))
{
i
++;
}p
=s
+i
;
a
[j
]=*(s
+i
);
j
++;i
++;
while((*(s
+i
)!=0)&&(*(s
+i
)!=ch2
))
{
a
[j
]=*(s
+i
);
j
++;i
++;
}
a
[j
]=*(s
+i
);
printf("%s\n",a
);
return p
;
}
①—②实际是do while循环 灵活使用数组和指针,对相应字符串的表示方法、原理、结构需要一定的了解。