w3resource

C Exercises: Print a string in reverse order

C Pointer : Exercise-22 with Solution

Write a program in C to print a string in reverse using a pointer.

Sample Solution:

C Code:

#include <stdio.h>
int main()
{
    char str1[50];
    char revstr[50];
    char *stptr = str1;
    char *rvptr = revstr;
    int i=-1;
 	printf("\n\n Pointer : Print a string in reverse order :\n"); 
	printf("------------------------------------------------\n");	
    printf(" Input a string : ");
    scanf("%s",str1);
    while(*stptr)
    {
     stptr++;
     i++;
    }
    while(i>=0)
    {
     stptr--;
     *rvptr = *stptr;
     rvptr++;
     --i;
    }
    *rvptr='\0';
    printf(" Reverse of the string is : %s\n\n",revstr);
    return 0;
}

Sample Output:

 Pointer : Print a string in reverse order :                                                                  
------------------------------------------------                                                              
 Input a string : w3resource                                                                                  
 Reverse of the string is : ecruoser3w 

Flowchart:

Flowchart: Print a string in reverse order

C Programming Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a program in C to print all the alphabets using pointer.
Next: C Linked List Exercises Home

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Share this Tutorial / Exercise on : Facebook and Twitter

C Programming: Tips of the Day

How to format strings using printf() to get equal length in the output?

You can specify a width on string fields, e.g.

printf("%-20s", "initialization..."); 

And then whatever's printed with that field will be blank-padded to the width you indicate.

The - left-justifies your text in that field.

Ref : https://bit.ly/34DMOc3