Comment affichez-vous «% 5d» en C?

Comment affichez-vous la chaîne “% 5d” en C? J’ai essayé de mettre une barre oblique inverse devant le pour cent, mais cela ne s’imprimera pas (et j’ai donné des avertissements). J’ai essayé googler mais en vain. Je suppose que c’est trop large pour que je puisse trouver une réponse spécifique.

#include  int main(void) { int test = 40; printf("\%5.1d %5.1d", test); //this is the one printf("%5.1d", test); return 0; } 

De l’aide?

Pour imprimer % essayez printf("%%") ;

Cela marche

 printf("%%5.1d %5.1d", test); 

Utilisez double% – printf("%%5d") .

Comme alternative aux deux autres réponses (au moins) parfaitement correctes, vous pouvez également utiliser fputs() comme ceci:

 #include  int main(void) { int test = 40; fputs("%5d ", stdout); printf("%5.1d\n", test); return 0; } 

Notez que j’ai ajouté une nouvelle ligne à la sortie; cela est important car la sortie n’est pas vidée au terminal tant que vous n’avez pas sorti de nouvelle ligne. Notez aussi que j’ai utilisé fputs() et non pas fputs() parce que put puts() émet une nouvelle ligne que vous ne voulez pas émettre.

Cependant, connaître la solution générale consistant à utiliser double- % pour un pourcentage réel dans les familles de fonctions printf() et scanf() vous sera très utile pour l’avenir.

Ou vous pourriez faire printf("%s", "%5d") 🙂 Je comprends que c’est un peu détourné, et que celles décrites dans d’autres réponses sont meilleures, mais le fait de mentionner que c’est aussi une possibilité