流程:
1:定义一个新指针,指向字符串的首地址;
2: 定义开始指针,交换指针,将新指针的地址赋值给这两个指针;
3:交换指针和新指针 进行交换 ,如果新指针指向空格,新指针加加,不与交换指针交换,最后给交换指针加' \0';
4:输出从开始指针;
代码:
#include <stdio.h>
void delete(char *a); //删除空格的函数
int main(int argc, const char *argv[])
{
char s[] = "AAA BBB CCC DDD" ;
puts(s);
printf("删除空格后:\n");
delete(s);
return 0;
}
void delete(char *a)
{
char *start; //开始指针
char *b; // 交换的指针
b = start = a;
while(*a !='\0'){
if(*a == ' '){
a++;
}else{
*b = *a;
b++;
a++;
}
}
*b = '\0';
puts(start);
}
结果: