编写C语言程序,实现删除字符串s中的所有空格,其中实现字符串空格删除功能要求定义一个形式参数为字符指针的函数。
时间: 2023-06-18 15:03:23 浏览: 97
以下是一个示例程序,可以实现删除字符串s中的所有空格:
```c
#include <stdio.h>
#include <ctype.h>
void delete_spaces(char *s) {
char *p = s;
while (*p) {
if (!isspace(*p)) {
*s++ = *p;
}
p++;
}
*s = '\0';
}
int main() {
char s[] = " This is a test string. ";
printf("Before deleting spaces: %s\n", s);
delete_spaces(s);
printf("After deleting spaces: %s\n", s);
return 0;
}
```
运行结果为:
```
Before deleting spaces: This is a test string.
After deleting spaces: Thisisateststring.
```
在该程序中,我们定义了一个名为delete_spaces的函数,它的形式参数为一个字符指针s。在函数中,我们使用一个指针p遍历输入字符串s中的每个字符。如果p指向的字符不是空格字符(isspace函数可以判断字符是否为空格),我们就将该字符复制到输出字符串s中,然后将s指针向后移动一个位置。最后,我们在输出字符串s的末尾添加一个空字符,以表示字符串的结束。在主函数中,我们声明一个字符数组s,并将其传递给delete_spaces函数进行处理。最后,我们输出处理后的字符串s。
阅读全文