请用c语言实现,请编写一个函数,函数的功能是删除字符串中的所有空格。 例如, 主函数中输入"asd af aa z67", 则输出为 "asdafaaz67"。
时间: 2024-02-03 22:13:32 浏览: 83
下面是用 C 语言实现删除字符串中所有空格的函数:
```c
#include <stdio.h>
#include <string.h>
void delete_space(char *str) {
// 指向字符串开头的指针
char *p = str;
// 指向字符串结尾的指针
char *q = str + strlen(str);
while (p < q) {
if (*p == ' ') {
// 如果 p 指向的字符是空格,则将后面的字符依次往前移动
memmove(p, p + 1, q - p);
// q 指针也要往前移动
q--;
} else {
// 如果 p 指向的字符不是空格,则 p 指针往后移动
p++;
}
}
}
int main() {
char str[] = "asd af aa z67";
delete_space(str);
printf("%s\n", str);
return 0;
}
```
输出结果为:
```
asdafaaz67
```
阅读全文