#include<stdio.h>
#include<stdlib.h>
void delete_space(char* b)
{
char * p,*p1;//p指向操作元素,p1指向目标元素
p1 = p = b;
for (; *p1 == ' '; p1++){}//将p1指向字符串中第一个非空格元素
while (*p1 != '\0')
{
if (*p1 != ' ')
{
while (*p1 != ' ')
{
*p++ = *p1++;//*p=*p1;p++,p1++
}
}
else {
*p++ = *p1++;//如果p1是空格,则先将第一个空格赋值给p
for (; *p1 == ' '; p1++){}//然后将p1指针遍历空格后,停在下个不为空格的字符元素上
}
}
*(p-1)='\0';//依据上一个循环,此时p必然指向最后一个单词+一个空格后的位置,进行p-1
}
int main()
{
char a[50] = { " the true is i am superman " };
delete_space(a);
puts(a);
system("pause");
}
[c语言]用指针删除字符串中的多余空格
最新推荐文章于 2024-04-20 17:10:49 发布