用指针删除字符串中所有的空格 您所在的位置:网站首页 程序将字符串开始和末尾的连续空格删除 用指针删除字符串中所有的空格

用指针删除字符串中所有的空格

2023-12-30 14:25| 来源: 网络整理| 查看: 265

在删除函数中再定义一个指针保存当前指向的空格的位置,将空格以后的数据都往前移,再从当前位置继续查找空格,不是空格则将原指针往移,若碰到空格则继续进行上步循环。

写这个函数遇到一个问题:删除不连续的空格则成功,但是多删除几个连续的空格,则删除不完,原因是找到空格后移完数据将原指针也往后移动了一位,所以若是连续的空格则漏掉了一个直接到下一位去查找了,所以在找到这个空格时,移动完其后的数据后原指针不往后移即可(程序中注释的那个);

//删除函数字符串内所有空格 #include void delete_space(char *p); void main() {  char arr[]="hello,    world    s";     printf("%s\n",arr);     delete_space(arr);  printf("%s\n",arr); } void delete_space(char *p) {    char *q;  while(*p!=0)  {   if(*p!=' ')    p++;   else   {    q=p;    while(*q!=0)    {     *q=*(q+1);     q++;    }    //p++;   }  } }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有