整体思路如下:
1、将两个指针都指向字符串首元素
2、判断前后两个元素是否都为空格
3、如果是,就将后一个元素赋值给前一个元素
4、如果不是连续空格,就继续向后走
void ContinuousSpaces(char *arr)
{
int len = strlen(arr);
int i = 0;
int j = 0;
while (i < len && j < len)
{
if (arr[j] == ' ' && arr[j + 1] == ' ') //判断是否为连续空格
{
arr[j]=arr[j+1];
}
else
{
arr[i++] = arr[j];
}
j++;
}
arr[i] = '\0';
}
int main()
{
char brr[100] = " a b c d e";
printf("%s\n", brr);
ContinuousSpaces(brr);
printf("%s\n",brr);
return 0;
}