/* * Ask user for a word and print it forwards and backwards. * CSE 374 demo (for debugging), 10/08-1/17. HP */ #define MAX_STR 100 /* length of longest input string */ #include #include #include /* Return a new string with the contents of s backwards */ char * reverse(char * s) { char *result = (char*)malloc(strlen(s) + 1); int L, R; //char ch; /* copy original string then reverse and return the copy */ //strcpy(result, s); L = 0; R = strlen(s)-1; for (; L < strlen(s); L++) { result[L] = s[R]; R--; } result[L] = '\0'; return result; } /* Ask the user for a string, then print it forwards and backwards. */ int main() { char line[MAX_STR]; /* original input line */ char * rev_line; /* backwards copy from reverse function */ printf("Please enter a string: "); fgets(line, MAX_STR, stdin); line[strlen(line)-1] = '\0'; rev_line = reverse(line); printf("The original string was: >%s<\n", line); printf("Backwards, that string is: >%s<\n", rev_line); printf("Thank you for trying our program.\n"); return 0; }