#include <iostream>
//
///字符串反转,不用库函数, 单词字母顺序不变,只调整单词顺序为反序: 如 I am a student. student.a am I
///1. 断词
///2. 单词反转
///3. 整句反转
/
void reversed_word(char *start, char *end)
{
while(start < end)
{
char temp = *start;
*start++ = *end;
*end-- = temp;
}
}
char * reversed_str (char *str)
{
char *start = str;
char *end = str;
while(1)
{
if (*end == ' '|| *end == '\0')
{
if( *end == '\0')
break;
reversed_word(start, end - 1);
while(*end == ' ')
{
end++;
}
start = end;
}
else
{
end++;
}
}
printf("单个单词反转后输出: %s\n", str);
reversed_word(str, end-1);
return str;
}
int main()
{
char str[] = " i am !./ a student. ";
printf("%s\n", str);
printf("%s\n", reversed_str(str));
return 0;
}