#include "stdafx.h"
#include<iostream>
using namespace std;
void switcher(char *str)
{
char *letter = NULL;//指向字母
char *space = NULL;//指向空格
bool flag = true;
letter = space = str;
if(*str == ' ')//防止空格打头,去掉试试你就知道为什么了
flag = false;
while(*letter!='\0')
{
while(*space != ' '&& *space!='\0')//找到第一个空格
{
space++;
}
letter = space;
while(*letter == ' '&& *letter != '\0')//找到这个空格后的第一个字母
{
letter++;
}
if(*letter == '\0')//如果这个空格后没有字母,那么space就是字符串的结尾
{
*space = '\0';
return;
}
if(flag)
space++;//如果有字母,那么这2个字母串中间至少要有一个空格
while(*letter != ' '&& *letter != '\0')
{
*space = *letter;
*letter = ' '; //最后一个作用很大哦,去掉试试你就知道了
space++;
letter++;
}
flag = true;
}
}
int main()
{
char a[] = "hello world baby ggg";
switcher(a);
cout<<a<<endl;
getchar();
return 0;
}
http://blog.youkuaiyun.com/fanzitao/article/details/7977881