用c编写,使用指针和函数,编写程序,输入一个字符串,删除字符串中的连续空格(只保留一个)后输出。编写程序,输入一个字符串,删除字符串中的连续空格(只保留一个)后输出。【样例输入】 a b c d e f 【样例输出】 a b c d e f。每一行代码注释清楚
时间: 2023-06-13 21:03:46 浏览: 56
```c
#include <stdio.h>
#include <string.h>
//删除字符串中的连续空格(只保留一个)
void remove_extra_spaces(char* str) {
int i, j, len;
len = strlen(str);
for (i = 0, j = -1; i < len; i++) {
if (str[i] != ' ' || (i > 0 && str[i - 1] != ' ')) { //如果当前字符不是空格,或者前一个字符不是空格
str[++j] = str[i]; //将当前字符加入到新字符串中
}
}
if (j >= 0 && str[j] == ' ') { //如果新字符串最后一个字符是空格,则将其删除
str[j] = '\0';
} else {
str[j + 1] = '\0';
}
}
int main() {
char str[100];
printf("请输入字符串:");
gets(str); //输入字符串
remove_extra_spaces(str); //删除连续空格
printf("处理后的字符串为:%s", str); //输出处理后的字符串
return 0;
}
```
注释见代码中。需要注意的是,使用 `gets()` 函数输入字符串可能会存在安全问题,因为它不会限制输入的长度,容易发生缓冲区溢出。实际应用中应该使用安全的输入方法,比如使用 `fgets()` 函数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)