#include "stdafx.h" #include <stdio.h> #include <string.h> #include <assert.h> #define STR_LENGTH 512 char* Revert(char* str) { assert(str!=NULL); char temp; int length = strlen(str); for (int i = 0; i < length/2; i++) { temp = str[i]; str[i] = str[length-1-i]; str[length-1-i] = temp; } return str; } char* strrev(char* string) { assert(string!=NULL); char *start = string; char *left = string; char ch; while (*string++); string -= 2; while (left < string) { ch = *left; *left++ = *string; *string-- = ch; } return(start); } int _tmain(int argc, _TCHAR* argv[]) { char str[STR_LENGTH]; memset(str,0,STR_LENGTH); printf("input string:"); scanf("%s",str); printf("output string:%s",strrev(str)); return 0; }