A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大雕会飞 中级黑马   /  2015-11-19 14:39  /  760 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*编制函数,将字符串中连续的相同字符仅保留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++;
但不清楚原因,求大神指导,顺便讲下原因.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马