D
Original erstellt von Con@n:
was macht eigentlich die Zeile "char nachname[i];"? Irre ich mich, oder geht das doch gar nicht.
Doch es geht schon; es deklariert ein Feld vom Typ char mit i Einwohnern und zerstört es am Blockende wieder.
#include <stdio.h>
#include <string.h>
int main(void)
{
char buf[100];
char *p;
if (!fgets(buf, sizeof buf, stdin)) return 1;
if (p = strchr(buf, ' ')) {
*p = '\0';
/* wenn kein Schreibzugriff erwünscht, dann die Differenz bestimmen und mit fwrite ausgeben; _nicht_ wild rumkopieren! */
++p;
printf("Vorname %s, Nachname %s\n", buf, p);
} else /* Kein Name */;
return 0;
}
Oder ohne Felder:
#include <stdio.h>
int main(void)
{
int c;
fputs("Vorname ", stdout);
while ((c = getchar()) != EOF) {
if (c == ' ') fputs(" Nachname", stdout);
putchar(c);
}
return 0;
}
/me hat gerade nichts zu tun :).