Il primo argomento a printf()
è sempre un valore stringa, noto come stringa di controllo formato. Questa stringa può essere testo normale, ad esempio
printf("Hello, World\n"); // \n indicates a newline character
o
char greeting[] = "Hello, World\n";
printf(greeting);
questa stringa può anche contenere uno o più specificatori di conversione; questi specificatori di conversione indicano che sono stati passati ulteriori argomenti a printf()
e specificano come formattare tali argomenti per l'output. Ad esempio, è possibile modificare l'alto per
char greeting[] = "Hello, World";
printf("%s\n", greeting);
Il "% s" indicatore di conversione previsto un puntatore a una stringa di 0-terminati, e formati come testo.
Per firmato uscita intero decimale, utilizzare la "% d" o "% i" indicatori di conversione, come ad esempio
printf("%d\n", addNumber(a,b));
Potete mescolare testo normale con gli indicatori di conversione, in questo modo:
printf("The result of addNumber(%d, %d) is %d\n", a, b, addNumber(a,b));
Si noti che gli specificatori di conversione nella stringa di controllo indicano il numero e tipi di parametri aggiuntivi. Se il numero oi tipi di argomenti aggiuntivi passati a printf()
non corrispondono agli specificatori di conversione nella stringa di formato, il comportamento non è definito. Ad esempio:
printf("The result of addNumber(%d, %d) is %d\n", addNumber(a,b));
si tradurrà in qualcosa, da un output confuso a un arresto anomalo.
Esistono numerosi indicatori aggiuntivi per gli specificatori di conversione che controllano larghezza, precisione, spaziatura, giustificazione e tipi del campo. Controlla il tuo pratico manuale di riferimento C per un elenco completo.
Si può trovare http://www.cppreference.com/wiki/ molto utile, vedere la sezione sulla libreria C standard. –