如“I am a student”--->"student a am I" void swap(char* a,char* b) { *a =*a^*b; *b =*a^*b; *a =*a^*b; } void ReverseWord(char* input,int len) { int low = 0; int high = 0; while(high<len) { while(' '!=input[high]&&'\0'!=input[high]) ++high; for(int i=low;i<(high+low)/2;++i) swap(input[i],input[high+low-i-1]); low = high+1; high = high+1; } for(int i=0;i<len/2;++i) swap(input[i],input[len-i-1]); } int main() { char input[]="I am a student"; int len = strlen(input); ReverseWord(input,len); cout<<input<<endl; }