#include <stdio.h>
char* RemoveExtraSpace(char* str)
{
if (str == NULL)
{
return NULL;
}
char* pstr = str;
int Newindex = 0;
bool PreSpace = true;//加一个bool值,用于判断前一个字符是否为空格,如果是,则判断下一个,如果不是则赋值
int i = 0;
while (pstr[i] != '\0')
{
if (pstr[i] != ' ')
{
pstr[Newindex++] = pstr[i];
PreSpace = false;
}
else if (pstr[i] == ' ' && PreSpace == false)
{
pstr[Newindex++] = pstr[i];
PreSpace = true;
}
i++;
}
Newindex--;
if (pstr[Newindex] == ' ')//判断最后一个字符是否为空格,如果是则设为结束符,若不是,则设下一个字符为字符串结束符
{
pstr[Newindex] = '\0';
}
else
{
pstr[Newindex + 1] = '\0';
}
return str;
}
int main()
{
char str[] = " I am a student ";
char* temp = RemoveExtraSpace(str);
printf("%s",temp);
getchar();
return 0;
}