有纯倒转,也有按单词为单位的。想做个总结
cout:
I am a student!!!
student!!! a am I
http://topic.youkuaiyun.com/t/20060621/16/4834987.html
#include<stdio.h>
void ReverseChar( char * const start, char * const end)
{
if( start == NULL || end== NULL || start == end )
return ;
char * _start = start;
char * _end = end;
while( _start < _end )
{
// *_start ^= *_end ^= *_start ^= *_end;
*_start ^= *_end;
*_end ^= *_start;
*_start ^= *_end;
_start++;
_end-- ;
}
}
void ReverseString( char *str )
{
if ( NULL == str )
return ;
//reverse word
char *pend = str ;
char *pstart = str ;
while( *pend != '\0' )
{
while( *pstart == ' ' )
pstart++;
pend = pstart;
while( *pend != ' ' && *pend != '\0')
pend++;
ReverseChar( pstart,pend-1 );
pstart = pend ;
}
ReverseChar( str,pend-1 );
}
int main()
{
char str[] = "I am a student!!!";
printf( "%s\n", str );
ReverseString( str );
printf( "%s\n" , str);
return 0;
}
cout:
I am a student!!!
student!!! a am I
http://topic.youkuaiyun.com/t/20060621/16/4834987.html