#include <stdio.h>
#define MAX_STRING 20
void CharSwap(char *firstVal, char *secondVal);
void Reverse(char string[MAX_STRING]);
main()
{
char input[MAX_STRING]; /* Input string, read from the keyboard */
printf("Input a word (less than 20 characters) :");
scanf("%s", input);
Reverse(input);
printf("The word reversed is %s.\n", input);
}
void CharSwap(char *firstVal, char *secondVal)
{
char tempVal; /* Needed to hold firstVal when swapping */
tempVal = *firstVal;
*firstVal = *secondVal;
*secondVal = tempVal;
}
void Reverse(char string[MAX_STRING])
{
int index;
int length = 0;
/* Calculate the string length */
while ((string[length] != '\0') && (length < MAX_STRING))
length++;
/* Reverse it! */
for (index = 0; index < (length / 2); index++)
CharSwap(&string[index], &string[length - (index + 1)]);
}