字符串:删除多余的空格

beggar_monk 2008-04-16 11:28:06
问题:写一个函数void f(char *s1,char *s2)删除字符串中多余的空格。
如:s1="as ef gas dfsaf d d "
变换成 s2="as ef gas dfsaf d d"
谢谢!
...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
关注 接分
wencn911 2008-04-17
  • 打赏
  • 举报
回复
你为什么要重复的问????

void f(char* s1, char* s2)
{
memset(s2,0,strlen(s1));
while(*s1 && (*s1 == ' '))s1++;
while (*s1 && (*s2 = *s1++))
if ((*s2 != ' ' ¦ ¦ *s1 != ' ') && *s1 != '\0')
++s2;
if(*s2 != '\0') (*s2 == ' ') ? (*s2 = '\0') : (*++s2 = '\0');
}
hanb99 2008-04-17
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>
void f(char *s1,char *s2)
{
char *p1, *p2;
p1 = s1;
p2 = s2;
while (*p1 != '\0')
{
if (*p1 != ' ')
{
*p2++ = *p1++;
}else
{
if (*(p2 - 1) != ' ')
{
*p2 = ' ';
++p2;
}
++p1;
}
}
}
int main()
{
char a[] = "as ef gas dfsaf d d ";
char b[100];
memset(b, 0, sizeof(b));
f(a, b);
printf("%s\n", a);
printf("%s\n", b);
return 0;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧