pc015.c (885B)
1 /* Write a C program to reverse a string using a recursive function. */ 2 3 #include<stdio.h> 4 #include<stdlib.h> 5 #include<string.h> 6 7 void reverseString(char [], char *, char *); 8 9 int main() { 10 char string[101], *p, *start, *end; 11 printf("Enter the string (Max: 100 char): "); 12 if(fgets(string, sizeof(string), stdin) == NULL) { 13 printf("\nError reading input."); 14 exit(1); 15 } 16 p = strchr(string, '\n'); 17 if(p) *p = '\0'; 18 printf("Before Reverse: %s", string); 19 start = string; 20 end = string + strlen(string) - 1; 21 reverseString(string, start, end); 22 printf("\nAfter reverse: %s", string); 23 return 0; 24 } 25 26 void reverseString(char str[], char *start, char *end) { 27 if(start >= end) { 28 return; 29 } 30 char temp; 31 temp = *start; 32 *start = *end; 33 *end = temp; 34 start++; 35 end--; 36 reverseString(str, start, end); 37 }