Reverse a String In-Place

Code

#include <stdio.h>
int length(char *str)
{
    int len=0;
    while(*str)
    {
        len++;
        str++;
    }
    return len;
}

void reverse_string(char *str,int len) {
    // Your logic here
    static int i=0;
    if(i>len)
    return;

    else
    {
        char temp=str[i];
        str[i]=str[len];
        str[len]=temp;

        i++;

        reverse_string(str,len-1);
    }
}

int main() {
    char str[101];
    scanf("%[^\n]",str);

    int len=length(str);

    reverse_string(str,len-1);
    printf("%s", str);
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

firmware

Expected Output

erawmrif