printf işlevi istenen sayıda argümanı basmak için kullanılabilir. İşlevi çağırırken belirteceğiniz şablon dizge içinde sadece ek argümanların sayısına ilişkin bilgi değil onların türleri ve nasıl biçimlenerek çıktılanacağına ilişkin bilgileri de verebilirsiniz.
Şablon dizge içindeki bir özellik içermeyen karakterler oldukları gibi akıma çıktılanırken şablon dizge içindeki bir % karakteri ile vurgulanan dönüşüm belirtimleri altbileşen argümanların biçimlenerek akıma çıktılanmasını sağlar. Örneğin,
int pct = 37;
char filename[] = "foo.txt";
printf ("`%s' dosyasının %%%d'lik kısmı işlendi.\nLütfen sabırlı olun.\n",
filename, pct);
kodu şöyle bir çıktı üretir:
`foo.txt' dosyasının %37'lik kısmı işlendi.
Lütfen sabırlı olun.
Bu örnekteki %d biçimleyeceği ikinci artbileşen argümanın int türünden olduğunu ve bir onluk tamsayı olarak basılacağını belirtir. %s ise ilk artbileşen argümanın bir dizge olduğunu belirtir. %d belirtimini önceleyen %% karakterleri % işareti olarak yorumlanır.
Bir tamsayı argümanın bir işaretsiz sekizlik, onluk ya da onaltılık tabanda bir sayı olarak (sırasıyla %o, %u, %x) ya da bir karakter %c) olarak yorumlanmasını sağlanabilir.
Bir gerçek sayı %f ile ondalık gösterimde %e ile üstel gösterimde basılabilir. %g dönüşümü ile gerçek sayıya, sayının büyüklüğüne bağlı olarak %f veya %g dönüşümü uygulanır.
Biçimlemeyi % ile dönüşüm karakteri arasına değiştiriciler yerleştirerek daha hassas olarak ayarlayabilirsiniz. Bunlar kimi zaman normal dönüşüm davranışını oldukça değiştirebilir. Örneğin, çoğu dönüşüm belirtimleri bir en küçük alan genişliği ile alanın sağa mı yoksa sola mı yanaştırılarak yazılacağını belirleyen imlerin kullanılmasına izin verir.
Bu tür değiştirici ve imler dönüşüm türüne bağlı olarak farklı yorumlanabilir. Bunlar size başta oldukça karmaşık görünebilir, endişelenmeyin; bir değiştirici ya da im kullanmadan da serbest biçimde gayet anlamlı çıktılar üretebilirsiniz. Bu değiştirici ve imler özellikle ve çoğunlukla tablo benzeri çıktılarda daha hoş görünümler elde etmek amacıyla kullanılır.