C :: Aufgabe #45
1 Lösung
String einlesen, umkehren und Leerzeichen einfügen
Anfänger - C
von pianoplayer
- 30.11.2013 um 13:34 Uhr
Schreiben Sie eine Funktion reverse_add_blank!, die einen String entgegennimmt, die Reihenfolge der Buchstaben umkehrt und Leerzeichen einfügt. Die Funktion soll den String verändern!
Lösungen:
/********************************************
* rev_add_blank.c reverse string with blanks
* devnull 01-12-2013
********************************************/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define STR_LEN 1000
char* reverse_add_blank(char *s)
{
char *ds, *pd, *ps;
if ((ds = strdup(s)) != NULL) {
for (ps=s, pd=ds+strlen(s); pd > ds;) {
*ps++ = *--pd;
*ps++ = ' ';
}
*--ps = '\0';
free(ds);
}
return s;
}
int main( )
{
char str[STR_LEN+1];
printf("Input: " );
if (gets(str) != NULL)
if (strlen(str) > 0) {
printf("Original String: [%s]\n", str);
printf("Returned String: [%s]\n", reverse_add_blank(str));
printf("Modified String: [%s]\n", str);
}
return 0;
}
