黑马程序员技术交流社区

标题: C语言的一道小题 [打印本页]

作者: 大雕会飞    时间: 2015-11-19 14:39
标题: C语言的一道小题
/*编制函数,将字符串中连续的相同字符仅保留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++;
但不清楚原因,求大神指导,顺便讲下原因.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2