菜鸟求助,各位大侠指点一二;(字符串操作的问题)
#include <stdio.h>#include <stdlib.h>
int del_substr(char *str,char const *substr);
void main()
{
char *s1="abcdefg";
char *s2="de";
if(del_substr(s1,s2)==1)
{
for(;*s1!='\0';s1++)
{
printf("%c",*s1);
}
}
else
printf("error!");
getch();
}
int del_substr(char *str,char const *substr)
{
if(!*str||!*substr)
return 0;
while(*str)
{
while(*substr)
{
if(*str==*substr&&*str++==*substr++)
*str=*str++;
else
break;
}
if(*substr=='\0')
break;
else
str++;
}
return 1;
}
从s1里删除s2这个字符串联,怎么就执行不成功呢?
////////////////////////////////////////////////////////////////////////////
本题已解决,多谢谢三楼的广陵绝唱,看来我一开始思路就错了.
[[it] 本帖最后由 jiaerboy 于 2008-9-20 13:55 编辑 [/it]]