单词反转函数,这么写不知道对不对
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <string.h>
#include <cstdio>
void swap_str(char * start, char * end)
{
char temp = 0;
while (start < end)
{
temp = * start;
*start++ = *end;
*end-- = temp;
}
}
char * reverse_str(char * str, int len )
{
char * start = str;
char * end = str + len - 1;
swap_str(start,end);
return str;
}
//char * reverse_str(char * start, char * end )
//{
//end -= 2;
//swap_str(start,end);
//return start;
//}
char * reverse_word(char * str)
{
char * word_start = str;
char * word_end = word_start;
while(*word_start)
{
int len = 0;
while (*word_end != '\0' && *word_end++ != ' ' )
{
len ++;
}
reverse_str(word_start, len);
word_start = word_end;
}
return str;
}
int _tmain(int argc, _TCHAR* argv[])
{
char str[] = "please input the word";
reverse_str(str,strlen(str));
cout << str << endl;
reverse_word(str);
cout << str << endl;
return 0;
}