rendered paste body/* Umkehren eines char Array's */#include <stdio.h>#include <stdlib.h>#include <string.h>void charReverse(char array[]) { /* Zuweisen der Pointer(links,rechts) * Anlegen eines char's temp */ char *p_left = array, *p_right = &array[strlen(array)-1], temp; /* Schleifendruchlauf solange die Adressen * gleich sind! * Zuerst wird der char vom Linken Pointer, quasi der erste Buchstabe * zwischengespeichert! Danach wird der letzte char von p_right * auf p_left gelegt und p_right mit temp belegt usw. * Danach noch p_left inkrementiert und p_right dekrementiert! */ while(p_left != p_right) { temp = *p_left; *p_left = *p_right; *p_right = temp; p_left++; p_right--; }} void charReverse_rekursiv(char array[], char* left, char* right) { /* Ausstiegspunkt für die Rekursion */ if(left == right) { return; } /* Selbe Operation wie in der iterativen * Verion */ char temp; temp = *left; *left = *right; *right = temp; /* Pre in- dekrement erforderlich sonst endlosschleife */ charReverse_rekursiv(array,++left,--right); }int main() { char value[] = "Hello World :-)"; char *left = value, *right = &value[strlen(value)-1]; charReverse_rekursiv(value,left,right); printf("%s\n",value); charReverse(value); printf("%s\n",value); system("pause"); return 0;}