Program to reverse array

1. Reversing character array (string)

Program 1:

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

char *reverse_string(char *str)
{
	char temp = 0;
	int length = strlen(str);
	int start = 0;
	int end = length - 1;

	/* Model 1 */
	while (start < end) {
		/* Swap characters at start and end */
		temp = str[start];
		str[start] = str[end];
		str[end] = temp;

		/* Move start and end towards the center */
		start++;
		end--;
	}

	/* Model 2 */
	while (start < end) {
		/* XOR swap elements at start and end */
		str[start] ^= str[end];
		str[end] ^= str[start];
		str[start] ^= str[end];

		/* move start and end towards the center */
		start++;
		end--;
	}

	return;
}

int main()
{
	char str[] = "Hello, World!";

	printf("Original string: %s\n", str);

	reverse_string(str);

	printf("Reversed string: %s\n", str);

	return 0;
}

2. Reversing integer array

Last updated