编写函数,去掉一个字符串中除头部和尾部空格外的所有空格,并编写主函数进行调用测试。c语言
时间: 2023-07-16 21:13:15 浏览: 89
以下是一个实现该功能的示例代码:
```c
#include <stdio.h>
#include <string.h>
void remove_extra_spaces(char* str) {
int len = strlen(str);
int i, j;
int start = -1, end = -1;
// 找到第一个非空格字符的位置
for (i = 0; i < len; i++) {
if (str[i] != ' ') {
start = i;
break;
}
}
// 找到最后一个非空格字符的位置
for (i = len - 1; i >= 0; i--) {
if (str[i] != ' ') {
end = i;
break;
}
}
if (start == -1 || end == -1) {
str[0] = '\0';
return;
}
// 去掉中间的多余空格
j = start;
for (i = start; i <= end; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
} else if (i > 0 && str[i-1] != ' ') {
str[j++] = ' ';
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
remove_extra_spaces(str);
printf("去掉多余空格后的字符串为:%s\n", str);
return 0;
}
```
在主函数中,我们接收用户输入一个字符串,并调用 `remove_extra_spaces` 函数去掉多余的空格,最后输出结果。
阅读全文