Skip to content

pc015.c

Problem Statement

Write a C program to reverse a string using a recursive function.

Metadata

Property Detail
Author Amit Dutta (amitdutta4255@gmail.com)
License MIT

Actions

Raw View on GitHub

💡 You can print or save this file by opening Raw and using your browser.

Source Code

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void reverseString(char [], char *, char *);

int main() {
    char string[101], *p, *start, *end;
    printf("Enter the string (Max: 100 char): ");
    if(fgets(string, sizeof(string), stdin) == NULL) {
        printf("\nError reading input.");
        exit(1);
    }
    p = strchr(string, '\n');
    if(p) *p = '\0';
    printf("Before Reverse: %s", string);
    start = string;
    end = string + strlen(string) - 1;
    reverseString(string, start, end);
    printf("\nAfter reverse:  %s", string);
    return 0;
}

void reverseString(char str[], char *start, char *end) {
    if(start >= end) {
        return;
    }
    char temp;
    temp = *start;
    *start = *end;
    *end = temp;
    start++;
    end--;
    reverseString(str, start, end);
}