C语言编写函数,去掉一个字符串中除头部和尾部空格外的所有空格,并编写主函数进行调用测试。 输入: 占一行(注:输入的字符串长度不会超过80) 输出: 占一行
时间: 2024-03-21 12:44:19 浏览: 62
C语言实现去除字符串中空格的简单实例
好的,我可以回答你的问题并提供代码。以下是一个C语言函数,用于去除字符串中除头尾空格之外的所有空格:
```c
#include <stdio.h>
#include <string.h>
void remove_spaces(char *str) {
int i, j;
int len = strlen(str);
// 移除字符串开头的空格
while (len > 0 && str[len - 1] == ' ') {
len--;
}
str[len] = '\0';
i = 0;
j = 0;
while (str[i] == ' ') {
i++;
}
while (str[i]) {
if (str[i] != ' ' || (i > 0 && str[i - 1] != ' ')) {
str[j++] = str[i];
}
i++;
}
str[j] = '\0';
}
int main() {
char str[81];
printf("请输入一个字符串:\n");
fgets(str, 81, stdin);
remove_spaces(str);
printf("去除空格后的字符串为:\n%s\n", str);
return 0;
}
```
在这个函数中,我们首先移除字符串开头的空格,然后遍历字符串并在遇到多个连续空格时仅保留一个空格。最后,我们移除字符串结尾的空格并在字符串末尾添加一个空字符以表示字符串的结尾。
在主函数中,我们使用 fgets 函数获取用户输入的字符串,并调用 remove_spaces 函数去除除头尾空格之外的所有空格,并打印结果字符串。
希望这个回答能够帮助到你!
阅读全文