Home Strings Reverse a string without using Recursion

Reverse a string without using Recursion

by nikoo28
0 comment 2 minutes read

Question: Write a program in C to reverse a string using recursion

Input: Hello Everyone
Output: enoyrevE olleH

We discussed the method to reverse the string using recursion in this post. But a recursive method is generally not preferred as it takes a longer execution time.
This is also a classic interview question and we need to do it in place. We also need to be careful for the null character.


void reverse(char *str)
	// Mark a pointer to the start of string
	char * end = str;
	char temp;
		// Find the end of the string
	// end now points at the last character of the string
	// but the last character is null, so we need to step back one character
	// Swap characters from start of the string with the end of the string
	// until the pointers meet in the middle
	while(str < end)
		temp = *str;
		*str++ = *end;
		*end-- = temp;

//driver program
int main(void)
	char str[100] = "Hello Everyone";
	return 0;

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More