/*编制函数,将字符串中连续的相同字符仅保留1个(如字符串“a bb cccd ddd ef”处理后为“a b cd d ef”)*/
#include<stdio.h>
#include<string.h>
void f(char *p,int len)
{
int i;
for(i=0;i<len-1;)
if(p[i]==p[i+1])
strcpy(p+i,p+i+1);
else i++;
}
void main()
{
char a[60];
gets(a);
f(a,strlen(a));
puts(a);
}
可以运行,但输入aaa,就没有输出了....问题应该在
for(i=0;i<len-1;)
if(p[i]==p[i+1])
strcpy(p+i,p+i+1);
else i++;
但不清楚原因,求大神指导,顺便讲下原因. |
|