Das erste Argument zu printf()
ist immer ein Zeichenfolgenwert, der als Formatkontrollzeichenfolge bezeichnet wird. Diese Zeichenfolge kann normaler Text sein, wie
printf("Hello, World\n"); // \n indicates a newline character
oder
char greeting[] = "Hello, World\n";
printf(greeting);
Diese Saite auch ein oder mehrere Konvertierungsspezifizierer enthalten; Diese Konvertierungsbezeichner geben an, dass zusätzliche Argumente an printf()
übergeben wurden, und sie geben an, wie diese Argumente für die Ausgabe formatiert werden. Zum Beispiel kann ich den oben ändern
char greeting[] = "Hello, World";
printf("%s\n", greeting);
Die „% s“ Konvertierungsspezifizierer einen Zeiger auf eine 0-terminierte Zeichenkette erwartet, und formatiert sie als Text.
Für Dezimalzahl Ausgabe unterzeichnet, verwenden Sie entweder die "% d" oder "% i" Konvertierungsspezifizierer, wie
printf("%d\n", addNumber(a,b));
Sie normalen Text mit Konvertierungsspezifizierer mischen kann, etwa so:
printf("The result of addNumber(%d, %d) is %d\n", a, b, addNumber(a,b));
Beachten Sie, dass die Umwandlungsspezifikatoren in der Kontrollzeichenfolge die Nummer und Typen von zusätzlichen Parametern angeben. Wenn die Anzahl oder Typen zusätzlicher Argumente, die an printf()
übergeben wurden, nicht mit den Konvertierungsangaben in der Formatzeichenfolge übereinstimmen, ist das Verhalten nicht definiert. Zum Beispiel:
printf("The result of addNumber(%d, %d) is %d\n", addNumber(a,b));
führt zu etwas von verzerrten Ausgang zu einem vollständigen Absturz.
Es gibt eine Reihe zusätzlicher Flags für Konvertierungsspezifikatoren, die Feldbreite, Genauigkeit, Auffüllung, Ausrichtung und Typen steuern. Eine vollständige Liste finden Sie in Ihrem handlichen C-Referenzhandbuch.
Sie können feststellen, http://www.cppreference.com/wiki/ sehr hilfreich finden Sie im Abschnitt auf der Standard-C-Bibliothek. –