#include /* strrev.c */ #include #include char * strrev(char * string) { int length = strlen(string); char * result = malloc(length+1); if( result != NULL ) { int i,j; result[length] = '\0'; for ( i = length-1, j=0; i >= 0; i--, j++ ) result[j] = string[i]; } return result; } int main() { char msg1[] = "Hello world!"; char * msg2; msg2 = strrev(msg1); printf("Reversing finished!\n"); //@{}@XPC {local variables clobber stack!} printf("msg2=`%s'\n", msg2); free(msg2); return 0; }