Formatted output to stdout int printf (const char *format [, argument, ...]); Prototype in stdio.h printf formats a variable number of arguments according to the format, sending the output to stdout. Returns the number of bytes output. In the event of error, it returns EOF.
Kaikki tällaiset muuttuvaparametriset ohjelmat tarvitsevat ainakin yhden parametrin (1., miksi) joka ilmoittaa muiden parametrien määrän ja luonteen ( =tyypin).
Funktiossa printf tämä parametri on 1. merkkijono, format - jono, jonka % - merkkien määrä suurin piirtein ilmoittaa muiden parametrien määrän ja % - merkkien jälkeinen kirjain ilmoittaa niiden tyypin. Kääntäjä ei tietenkään voi tietää merkkijonon sisällöstä, joten parametrien tyypin tarkastus jää tekemättä ja vääristä kutsuista saattaa seurata jopa koneen kaatuminen! Tyypillisin väärä esimerkki on kutsu:
int lkm; printf("Anna kissojen lkm>"); scanf("%d",lkm); /* VÄÄRIN VÄÄRIN VÄÄRIN */ :-(