用C语言去除字符串中多余空格
时间: 2023-03-20 17:00:47 浏览: 652
以下是一种用C语言去除字符串中多余空格的方法:
1. 定义一个字符数组来存储字符串,例如:char str[100];
2. 使用fgets()函数从标准输入中读取字符串,例如:fgets(str, 100, stdin);
3. 遍历字符串,逐个字符判断,若是空格字符,则继续向后遍历直到找到一个非空格字符为止,并将该非空格字符复制到当前位置;
4. 将最后一个非空格字符的后面位置置为'\0',表示字符串结束;
5. 最后输出处理后的字符串,例如:printf("%s\n", str)。
下面是一个示例代码,演示了如何使用这种方法去除字符串中多余空格:
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
fgets(str, 100, stdin);
int i, j;
for (i = j = 0; str[i] != '\0'; i++) {
if (isspace(str[i])) {
while (isspace(str[i + 1])) {
i++;
}
}
str[j++] = str[i];
}
str[j] = '\0';
printf("%s\n", str);
return 0;
}
```
运行该程序后,输入一个字符串,例如:" hello world ",会输出去除多余空格后的结果:"hello world"。
阅读全文