Читать книгу C für Dummies - Dan Gookin - Страница 113
Licht! Kamera! Action! puts und fgets die Zweite
ОглавлениеIm folgenden Programm wurde gegenüber InsultSicher.c
eine kleine Veränderung durchgeführt, die printf
-Anweisung wurde entfernt und durch puts
ersetzt.
#include <stdio.h>
int main()
{
char idiot[20];
puts("Name eines Idioten: ");
fgets(idiot, 20, stdin);
puts("Yep, ich denke auch, dass %s ein Idiot ist.\n", idiot);
return 0;
}
Listing 3.10: Name: Insult2.c
Also los, ändern Sie die Zeilen mit dem printf
aus dem Original so ab, dass Sie das Programm Insult2.c
erhalten. Speichern Sie das Programm unter dem neuen Namen.
Kompilieren Sie das Programm nun und starten Sie es – wenn Sie können! Falls es sich fehlerfrei kompilieren ließe – falls –, würden Sie folgende Ausgabe sehen:
Name eines Idioten:
Karl Klammer
Yep, ich denke auch, dass %s ein Idiot ist.
Tja, wer ist dieser %s
eigentlich?
Aber zum Glück wird Ihr Compiler wahrscheinlich aufgesprungen sein und hat Ihnen einen Fehler an den Kopf geworfen, der besagt, dass puts
nur ein Argument hat und kein weiteres mehr verkraftet. Genauer, dass das idiot
in puts
zu viel ist. puts
ist nicht nur einfacher gestrickt als printf
, das %s
funktioniert nicht; es kann auch mit angehängten Variablen nichts anfangen.