È possibile intervenire, attraverso i segnaposto e i caratteri di controllo, nella cosiddetta formattazione dell'input e dell'output. Vediamo quindi un elenco di alcuni formati associabili ai segnaposto (placeholders) e i caratteri che li contraddistinguono.
Carattere/i | Uso e significato |
d, i | Stampa un int come decimale con segno. '%d' e '%i' sono sinonimi per output, ma diversi se usati con scanf() per l'input. |
u | Stampa un decimale unsigned int |
f, F | Stampa un double come fixed-point. |
e, E | Stampa un valore reale nella forma standard ([-]d.ddd e[+/-]ddd) |
g, G | Stampa un double con notazione reale o esponenziale, quella più adatta alla sua dimensione. 'g' usa lettere minuscole, 'G' usa lettere maiuscole. Questa notazione é diversa dalla notazione fixed-point perché gli zeri insignificanti alla destra del punto decimale non sono inclusi. Il punto decimale non è incluso nei numeri interi. |
x, X | Stampa ununsigned int come numero esadecimale. 'x' usa lettere minuscole e 'X' usa maiuscole |
s | Stampa o acquisisce una stringa |
c | Stampa un char(carattere). |
I caratteri di controllo presenti nella stringa di controllo sono invece sempre preceduti dal carattere \ (carattere di escape - fuga) che toglie l'usuale significato al carattere che lo segue.
I codici di escape sono caratteri preceduti dal simbolo di escape (\) e nell'output hanno significati particolari come:
\n | new line - nuova linea |
\t | tabulazione orizzontale |
\b | tabulazione verticale |
\a | torna indietro di uno spazio |
\f | salto pagina |