2.2    Die Funktion printf()

Die Funktion printf() ist sicherlich zusammen mit scanf() die mächtigste Funktion, die es in C gibt. Da Sie printf() in den folgenden Kapiteln noch häufig verwenden werden, soll diese Funktion hier etwas genauer behandelt werden. Aus dem vorangehenden Abschnitt wissen Sie bereits, dass printf() dazu verwendet wird, eine Zeichenkette (engl. string) formatiert auf dem Bildschirm auszugeben. Eine feste Zeichenkette, wie z. B. »Hallo Welt«, steht dabei immer zwischen zwei doppelten Hochkommata, und darf alle Zeichen beinhalten, außer dem Null-Zeichen. Wenn Sie in dem Text, der sich zwischen den Hochkommata befindet, ein Hochkomma als Bildschirmzeichen einsetzen wollen, müssen Sie diesem Zeichen einen Backslash voranstellen.

Die Header-Datei stdio.h

Die Header-Datei stdio.h müssen Sie im Grunde bei fast jedem C-Programm hinzufügen. Dort sind alle Standardfunktionen für die Standardein-/-ausgabe deklariert (stdio steht für standard input output).

Wollen Sie eine Zeichenkette über das Zeilenende fortsetzen, müssen Sie das Backslash-Zeichen (\) an das Ende der Zeile setzen, beispielsweise:

// Ausgabe über mehrere Zeilen
printf("Ich werde ein \
Filmstar… \
oder auch nicht!\n");

Beachten Sie, dass alle Leerzeichen nach dem Backslash in der nächsten Zeile ebenfalls bei der Ausgabe berücksichtigt werden. Das String-Literal (also der Teil, der den Text enthält) von printf() muss allerdings nicht zwangsläufig nur aus einem konstanten Text zwischen den Hochkommata bestehen. Sie können auch innerhalb Ihres Textes Zahlen einfügen.

Ein Beispiel hierzu wäre:

printf("Gib mir zehn: %d", 10);

In diesem Beispiel dient %d als Platzhalter für einen Zahlenwert und gibt zugleich an, dass dieser als Dezimalzahl dargestellt werden soll.

Es kann mehrere solche Platzhalter in einer Zeichenkette geben. Die Werte werden dann in der angegebenen Reihenfolge eingesetzt. Für einen Wert kann auch ein längerer Ausdruck stehen, z. B. 2+3. Ein Beispiel hierzu wäre:

printf("Gib mir zehn: %d - gib mir fünf: %d", 10, 2+3);

Hier wurden mehrere Platzhalter verwendet. Diese werden in C auch als Formatanweisungen bzw. Formatbezeichner bezeichnet. Alle Formatanweisungen beginnen mit einem %-Zeichen. Dahinter folgt ein Buchstabe, der den Datentyp des Formats angibt. %d steht z. B. für eine dezimale Ganzzahl, wie Sie es bereits erfahren haben. Die Formatanweisung lässt sich noch detaillierter ausführen.

Formatanweisungen in C

Neben %d für Dezimalzahlen gibt es noch viele andere Kürzel zur Steuerung der formatierten Ausgabe verschiedener Daten. Diese sogenannten Formatanweisungen lernen Sie in Abschnitt 14.7, »Funktionen zur formatierten Ein-/Ausgabe«, kennen.