Pierwszym argumentem funkcji printf i scanf jest tekst, który decyduje o sposobie w jaki będą wypisywane kolejne argumenty. Może on zawierać znaczniki formatujące postaci
%[flagi][szerokosc][.precyzja][modyfikator]typ
| typ | oczekiwany typ argumentu | Wyjście | Przykład |
|---|---|---|---|
| c | char | znak | a |
| d lub i | int | liczba całkowita ze znakiem w zapisie dziesiętnym | 392 |
| e lub E | float | liczba w notacji naukowej | 3.9265e+2 |
| f | float | liczba rzeczywita z przecinkiem | 392.65 |
| g lub G | float | liczba rzeczywista (format zależny do ilości cyfr znaczących) | 392.65 |
| s | const char * | tekst | sample |
| u | unsigned int | liczba całkowita bez znaku w zapisie dziesiętnym | 7235 |
| x lub X | unsigned int | liczba całkowita bez znaku w zapisie szesnastkowym | 7fa lub 7FA |
| p | wskaźnik | adres pamięci | B800:0000 |
Flagi
| flaga | znaczenie |
| - | wyrównanie do lewej (do prawej jest domyślne), |
| + | wymusza znak + przed liczbami dodatnimi, |
| spacja | wstawia spację przed liczbami dodatnimi, |
| 0 | jeżeli liczba jest, któtsza niż podana długość to uzupełnia zerami (domyślnie spacjami) |