char *reverse(char *str) { char *buf = (char *)malloc(strlen(str) + 1), tmp[] = " "; for(int i=strlen(str)-1;i>=0;i--) { tmp[0] = str[i]; strcat(buf, tmp); } return buf; }