Program to Reverse a String using Pointers In C

The aim is to reverse a string using pointers given a string.

Examples:

Input: Geeks
Output: skeeG

Input: GeeksForGeeks
Output: skeeGroFskeeG

Approach: To use this method, you’ll need two pointers, one for the beginning of the string and the other for the end. With the help of these two pointers, the characters are then reversed one by one.

Join Our Community

Join our WhatsApp Group To know more about Programming Language tips, tricks and knowledge about and how to start learning any programming language.

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

// Function to reverse the string
// using pointers
void reverseString(char* str)
{
	int l, i;
	char *begin_ptr, *end_ptr, ch;

	// Get the length of the string
	l = strlen(str);

	// Set the begin_ptr and end_ptr
	// initially to start of string
	begin_ptr = str;
	end_ptr = str;

	// Move the end_ptr to the last character
	for (i = 0; i < l - 1; i++)
		end_ptr++;

	// Swap the char from start and end
	// index using begin_ptr and end_ptr
	for (i = 0; i < l / 2; i++) {

		// swap character
		ch = *end_ptr;
		*end_ptr = *begin_ptr;
		*begin_ptr = ch;

		// update pointers positions
		begin_ptr++;
		end_ptr--;
	}
}

// Driver code
int main()
{

	// Get the string
	char str[100] = "GeeksForGeeks";
	printf("Enter a string: %s\n", str);

	// Reverse the string
	reverseString(str);

	// Print the result
	printf("Reverse of the string: %s\n", str);

	return 0;
}

Output:

Enter a string: GeeksForGeeks
Reverse of the string: skeeGroFskeeG

Default image
Lingaraj Senapati
Hey There! I am Lingaraj Senapati, the Co-founder of lingarajtechhub.com My skills are Freelance, Web Developer & Designer, Corporate Trainer, Digital Marketer & Youtuber.
Articles: 253

Newsletter Updates

Enter your email address below to subscribe to our newsletter