Читать книгу 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.

C für Dummies

Подняться наверх