用c编写,使用指针和函数,编写程序,输入一个字符串,删除字符串中的连续空格(只保留一个)后输出。编写程序,输入一个字符串,删除字符串中的连续空格(只保留一个)后输出。【样例输入】 a b c d e f 【样例输出】 a b c d e f。注释清楚
时间: 2023-06-11 08:07:29 浏览: 79
以下是使用指针和函数编写的 C 语言程序,可以实现输入一个字符串,删除字符串中的连续空格(只保留一个)后输出:
```c
#include <stdio.h>
#include <string.h>
void removeSpace(char *str) {
int i, j, len;
len = strlen(str); // 获取字符串长度
for (i = 0, j = 0; i < len; i++) {
if (*(str + i) != ' ' || (i > 0 && *(str + i - 1) != ' ')) {
*(str + j++) = *(str + i);
}
}
*(str + j) = '\0'; // 加上字符串结束符
}
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str); // 输入字符串
removeSpace(str); // 删除连续空格
printf("删除连续空格后的字符串为:%s\n", str);
return 0;
}
```
程序的实现思路是遍历字符串,如果当前字符不是空格或者前一个字符也不是空格,则将当前字符存入目标字符串中。最后加上字符串结束符即可。
需要注意的是,在输入字符串时使用了 `gets()` 函数,这个函数可以读取一行字符串,直到读到换行符为止。这个函数虽然方便,但是不太安全,因为它无法限制输入字符串的长度,容易造成缓冲区溢出。在实际开发中应该使用更安全的输入函数,比如 `fgets()`。
阅读全文