In der C-Sprache wird die Funktion printf() verwendet, um formatierte Ausgaben auf der Standardausgabe zu drucken stdout (im Allgemeinen der Konsolenbildschirm). Die printf-Funktion ist Teil der C-Standardbibliothek < stdio.h> und es kann die Formatierung der Ausgabe auf vielfältige Weise ermöglichen.
Syntax von printf
printf ( ' formatted_string ', arguments_list);>
Parameter
- formatted_string: Dies ist eine Zeichenfolge, die die zu druckenden Daten angibt. Es kann auch einen Formatbezeichner enthalten, um den Wert einer beliebigen Variablen wie eines Zeichens und einer Ganzzahl auszugeben. arguments_list: Dies sind die Variablennamen, die dem Formatbezeichner entsprechen.
Rückgabewert
- printf() gibt die Anzahl der nach erfolgreicher Ausführung gedruckten Zeichen zurück.
- Tritt ein Fehler auf, wird ein negativer Wert zurückgegeben.
Beispiel für printf
In diesem Beispiel drucken wir die Zeichenfolge Hello Geek! in der Ausgabe mit der Funktion printf(). In der Funktion printf() wird das, was wir in die doppelten Anführungszeichen () schreiben, in der Ausgabe gedruckt.
C
// C program to illustrate the use of printf function> #include> int> main()> {> >// using printf to print 'Hello Geek!'> >printf>(>'Hello Geek!'>);> >return> 0;> }> |
>
>Ausgabe
Hello Geek!>
Formatierung in C printf
In C kann ein Wert ein Zeichentyp, ein Ganzzahltyp, ein Gleitkommatyp usw. sein. Um diese Werte mit printf anzuzeigen und zu formatieren, verfügen wir über Formatbezeichner, die in der formatierten Zeichenfolge verwendet werden. Diese Formatbezeichner beginnen mit dem Prozentzeichen '%'.
Syntax des Formatbezeichners
%[flags][width][.precision][length]specifier>
1. Spezifizierer
Es ist das Zeichen, das den Datentyp angibt. Einige häufig verwendete Spezifizierer sind:
- %d: zum Drucken von Ganzzahlen %f: zum Drucken von Gleitkommazahlen %c: zum Drucken von Zeichen %s: zum Drucken von Zeichenfolgen %p: zum Drucken von Speicheradressen %x: zum Drucken von Hexadezimalwerten
Beispiel
printf(' %c ', char_variable );> 2. Breite
Es ist der Unterspezifizierer, der die Mindestanzahl der zu druckenden Zeichen angibt.
Wenn die Anzahl der Zeichen kleiner als die angegebene Breite ist, wird der Leerraum verwendet, um die verbleibenden Zeichenplätze zu füllen. Wenn die Anzahl der Zeichen jedoch größer als die angegebene Breite ist, werden weiterhin alle Zeichen gedruckt, ohne dass eines davon abgeschnitten wird.
Beispiel
printf('% 25 s', some_string );> oder
printf('% * s', 25 , some_string );> 3. Präzision
Die Bedeutung des Präzisionsunterspezifizierers unterscheidet sich je nach Formatspezifizierer, mit dem er verwendet wird.
Postorder-Traversierung des Binärbaums
- Für Integraldaten (d, i, u, o, x, X): Gibt die Mindestanzahl der zu druckenden Ziffern an. Aber im Gegensatz zum Breiten-Unterspezifizierer fügt dieser Unterspezifizierer der Zahl anstelle von Leerzeichen führende Nullen hinzu. Wenn die Zahl mehr Stellen als die Genauigkeit hat, wird die Zahl so gedruckt, wie sie ist. Für Float- oder Double-Daten (f, e, a, A): Gibt die Anzahl der Stellen an, die nach dem Dezimalpunkt gedruckt werden sollen. Für String(s): Gibt die Länge des zu druckenden Strings an.
Beispiel
printf('% .10 d', some_integer ); printf('% .3f ', some_float ); printf('% .25 s', some_string) ;> oder
printf('% .* d', 10 , some_integer ); printf('% .* f', 3 , some_float ); printf('% .* s', 25 , some_string );> 4. Länge
Gibt die Länge des Datentyps im Speicher an. Es wird in Übereinstimmung mit C verwendet
// C program to print a variable> #include> int> main()> {> >int> num1 = 99;> >int> num2 = 1;> >printf>(>'The sum of %d and %d is %d
'>, num1, num2,> >num1 + num2);> >return> 0;> }> |
>
>Ausgabe
The sum of 99 and 1 is 100>
Beispiel 2: printf mit angegebener Breite
In diesem Beispiel geben wir die Breite der Ausgabe an, die von der Funktion printf() gedruckt wird.
C
// C program to illustrate the use of printf with width> // specifier> #include> int> main()> {> >// number to be printed> >int> num = 123456;> >// printing the num with 10 width and getting the> >// printed characters in char_printed> >printf>(>'Printing num with width 10: '>);> >int> chars_printed =>printf>(>'%10d'>, num);> >printf>(>'
Number of characters printed: %d'>,> >chars_printed);> >// specifying with using other method> >printf>(>'
Printing num with width 3: '>);> >chars_printed =>printf>(>'%*d'>, 3, num);> >printf>(>'
Number of characters printed: %d'>,> >chars_printed);> >return> 0;> }> |
>
>Ausgabe
Printing num with width 10: 123456 Number of characters printed: 10 Printing num with width 3: 123456 Number of characters printed: 6>
Wie wir sehen, werden auch dann alle Zeichen gedruckt, wenn wir eine Breite definieren, die kleiner als die der vorhandenen Zeichen ist. Außerdem haben wir die beiden Möglichkeiten gesehen, wie wir die Breite definieren können.
Beispiel 3: printf mit Precision Sub-Specifier
In diesem Beispiel demonstrieren wir den Unterspezifizierer „precision“ in der Funktion printf()
C
// C program to illustrate the use of precision> // sub-specifier> #include> int> main()> {> >int> num = 2451;> >float> dec = 12.45126;> >char>* str =>'techcodeview.com'>;> >// precision for integral data> >printf>(>'For integers: %.10d
'>, num);> >// precision for numbers with decimal points> >printf>(>'For floats: %.2f
'>, dec);> >// for strings> >printf>(>'For strings: %.5s'>, str);> >return> 0;> }> |
>
>Ausgabe
For integers: 0000002451 For floats: 12.45 For strings: Geeks>
Beispiel 4: printf mit Längen-Unterspezifizierer
C
// C program to illustrate the length modifier> #include> int> main()> {> >long> var = 3000000000;> >// printing var using %d> >printf>(>'Using %%d: %d'>, var);> >// printing var using %ld> >printf>(>'
Using %%ld: %ld'>, var);> >return> 0;> }> |
>
>Ausgabe
Using %d: -1294967296 Using %ld: 3000000000>