Ciao a tutti!!!

Non riesco a capire che serve settare la precisione alle stringhe!!!
per esempio , che differenza c'è tra :

codice:
char buf[100];
sprintf(buf,"%.50s", "ciao"); 
sprintf(buf, "%s", "ciao");
A video non cambia niente, ma questo tipo di notazione è molto usato per la formattazione dei buffer.
Che differenza c'è???