#include <string.h>
#include<stdio.h>
int main()
{
char str[100];
int i;
int pos = 0; //标记新的字符串
//gets 函数遇到空格不结束输入,换行自动结束输入,并加上/0
printf("请输入你要处理的字符串:\n" );
gets(str);
for (i = 0; str[i] != '\0';)
{
if (str[i] != ' ')//当不是空格时,将原字符串复制到新的字符串中去
{
while (str[i] != ' ' && str[i] != '\0')
str[pos++] = str[i++];
}
else //当开始出现空格时
{
if (i != 0) //该空格没有出现在字符串首位置,原字符串保留一个空格,若空格出现在原字符串首位置,不用保留一个空格
str[pos++] = str[i++];
while (str[i] == ' ')//跳跃过多余空格的循环
i++;
}
}
//处理原字符串尾部的空格;
if (str[pos - 1] == ' ') //如果结尾有空格;
str[pos - 1] = '\0';
else//如果结尾没有空格;
str[pos] = '\0';
//puts(str);
printf("%s", str);
return 0;
}
08-10
1882
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)