Ce n' “%3d” dans une instruction printf?
Dans le présent code, quel est le rôle du symbole %3d
? Je sais qu' % signifie se référer à une variable.
C'est le code:
#include <stdio.h>
int main(void)
{
int t, i, num[3][4];
for(t=0; t<3; ++t)
for(i=0; i<4; ++i)
num[t][i] = (t*4)+i+1;
/* now print them out */
for(t=0; t<3; ++t) {
for(i=0; i<4; ++i)
printf("%3d ", num[t][i]);
printf("\n");
}
return 0;
}
stackoverflow.com/questions/2778785/what-does-6d-mean-in-printf
Pinailler: c'est probablement le code en C, pas du C++.
De vote double au - dessus de nous n'avons pas besoin d'un distinct "ce n'
Pinailler: c'est probablement le code en C, pas du C++.
De vote double au - dessus de nous n'avons pas besoin d'un distinct "ce n'
%Nd
veux dire?" pour chaque N
.
OriginalL'auteur user336671 | 2010-05-10
Vous devez vous connecter pour publier un commentaire.
%3d
peut être décomposé comme suit:%
signifie "Imprimer une variable ici"3
signifie "utiliser au moins 3 espaces d'affichage, rembourrage en tant que de besoin"d
signifie "La variable est un entier"Mettre ces ensemble, il signifie "Imprimer un entier, prenant un minimum de 3 espaces"
Voir http://www.cplusplus.com/reference/clibrary/cstdio/printf/ pour plus d'informations
OriginalL'auteur Tarka
Qui est un spécificateur de format pour imprimer un nombre décimal (
d
) dans les trois (au moins) chiffres (3
).De
man printf
:opengroup.org c'est mieux: opengroup.org/onlinepubs/9699919799/functions/fprintf.html
OriginalL'auteur Potatoswatter
Prendre un coup d'oeil ici:
Print("%3d",X);
1234
.123
._12
où_
est l'un des leaders seul caractère espace.__1
où__
est deux principaux whitespacce caractères.OriginalL'auteur Poornachandra H D
C'est une mise en forme de spécification. %3d dit: imprimer l'argument comme un nombre décimal, d'une largeur de 3 chiffres.
OriginalL'auteur aioobe
Littéralement, il signifie pour imprimer un entier collier à trois chiffres avec des espaces. L' % introduit un spécificateur de format, le 3 indique les 3 chiffres, et le d indique un nombre entier. Ainsi, la valeur de num[t][i] est imprimé à l'écran comme une valeur telle que "1", "2", "12", etc.
OriginalL'auteur Mac
2/3 ou tout entier est rembourrage/largeur .cela signifie ex de 3 ,un minimum de 3 espace si nous avons l'impression d'un=4, alors c'impression comme 4,voici deux de l'espace à gauche avant le 4 parce que c'est un personnage
OriginalL'auteur chandan kumar
Un exemple pour éclairer les réponses existantes:
Lorsque:
x
est 1234 imprime1234
x
est de 123 imprime123
x
est de 12 tirages12
avec un rembourrage supplémentaire (espace)x
est 1 imprime1
avec deux rembourrages (espaces)OriginalL'auteur Majid
Vous pouvez spécifier la largeur de champ entre le % et d(pour les décimales). Il représente le nombre total de caractères imprimés.
Une valeur positive, comme mentionné dans une autre réponse, aligne à droite de la sortie et est la valeur par défaut.
Une valeur négative gauche aligne le texte.
exemple:
La sortie:
Vous pouvez aussi spécifier la largeur de champ comme un paramètre supplémentaire en utilisant le caractère*:
qui donne:
OriginalL'auteur Polaris000