#include #include int string_length(char * my_string); char * reverse_string(char * my_string) { int length = string_length(my_string); char * result = (char *) malloc(sizeof(char) * (length + 1)); int i; for (i = 0; i < length; i++) { int j = length - i - 1; result[i] = my_string[j]; } result[length] = 0; return result; } int string_length(char * my_string) { int counter = 0; while(1) { if (my_string[counter] != 0) { counter++; } else { break; } } return counter; } int main() { char * input = (char *) malloc(sizeof(char) * 1000); printf("enter a string:\n"); scanf("%s", input); char * reverse = reverse_string(input); printf("input = %s\n", input); printf("reverse = %s\n", reverse); free(input); free(reverse); }