C语言编程题,指针 指定位置输出字符串

本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。

第1个回答  2018-09-17
不要指望别人给你写全部代码。
请你写出代码,大家可以帮你找问题。追问

嗯嗯,不好意思,之前是想放上来的忘了

char *match( char *s, char ch1, char ch2 ){

int i=0,j=0,k=0,len=0;
char *p=NULL;

len = strlen(s);
for(i=0;i<len;i++){
if(s[i]==ch1){
p=&s[i];
for(j=i;j<len;j++){
if(s[j]!=ch2){
printf("%c", s[j]);
}
if(s[j]==ch2){
printf("%c\n", s[j]);
return p;
}
}
printf("\n");
return p;
}
}

}

会报错,有一个错

追答

我的回复好像不见了。这个函数最后应该加一个return NULL.这应该是编译阶段就发现的,建议养成清除所有编译警告的好习惯

追问

我用的是DEV-C,并没有报错,没有WARNING
加上return NULL后,还是会有如上图的答案不正确啊。
望解答。

追答

应该还要打印一个空行

本回答被网友采纳