C

Reverse a String In C Using Pointers

In this tutorial, we are going to see how to reverse a string in C using pointers. For example, if a user enters the string “StackHowTo”, it will be “oTwoHkcatS” when reversed. A string that stays the same when reversed is a string named Palindrome.

There are four ways to reverse a string in C, by using for loop, pointers, recursion, or by strrev function.
 

Reverse a String In C Using Pointers
#include <stdio.h>
#include <string.h>

int main()
{  
    int len, i;
    char str[100], *startptr, *endptr, ch;
	
    printf(" Enter a string: ");
    gets(str);

    len = strlen(str);
  
    //pointers initialized by str
    startptr = str;
    endptr = str;
  
    // Move endptr to the last character
    for (i = 0; i < len - 1; i++)
        endptr++;
  
    for (i = 0; i < len / 2; i++) {
        // swap character
        ch = *endptr;
        *endptr = *startptr;
        *startptr = ch;
  
        // refresh pointers positions
        startptr++;
        endptr--;
    }
  
    printf("String after reversing it: %s", str);
  
    return 0;
}

Output:

 Enter a string: StackHowTo
 String after reversing it: oTwoHkcatS

 

mcqMCQPractice competitive and technical Multiple Choice Questions and Answers (MCQs) with simple and logical explanations to prepare for tests and interviews.Read More

Leave a Reply

Your email address will not be published. Required fields are marked *