Le problème mentionné par d'autres, à savoir qu'un seul caractère doit être terminé par un caractère nul, n'est pas réel. Il pourrait être résolu en apportant une précision au format %.1s
ferait l'affaire.
Ce qui est plus important à mon avis, c'est que pour les %s
sous toutes ses formes, vous devez fournir un pointeur sur un ou plusieurs caractères. Cela signifie que vous ne pourriez pas imprimer des valeurs r (expressions calculées, retours de fonctions, etc.) ou enregistrer des variables.
Edita: Je suis vraiment énervé par la réaction à cette réponse, je vais donc probablement supprimer cette réponse, cela n'en vaut vraiment pas la peine. Il semble que les gens réagissent à cette réponse sans même avoir lu la question ou sans savoir comment apprécier la technicité de la question.
Soyons clairs : je ne dis pas qu'il faut préférer %.1s
plus %c
. Je dis seulement que les raisons pour lesquelles %c
ne peuvent être remplacés par qui sont différents de l'autre réponse prétendent dire. Ces autres réponses sont tout simplement erronées d'un point de vue technique. La terminaison nulle n'est pas un problème avec %s
.