OVH Cloud OVH Cloud

%d ou %i ?

55 réponses
Avatar
Jseb
Bonjour,

J'ai l'habitude d'écrire l'affichage des mes entiers avec printf sous
cette forme: printf("%i ",toto);

On m'a dit plusieurs fois qu'il fallait écrire: printf("%d ",toto);
On m'a dit également que "%i" était une windozerie. J'ai vérifié dans
le K&R, c'est équivalent (tableau p.152 2eme édition Masson)

Si quelqu'un a une explication cohérente (autre que "windozerie"), je
suis prêt à abandonner le "%i".

--
Alussinan, l'internette que ça fout la trouille.

5 réponses

2 3 4 5 6
Avatar
Gabriel Dos Reis
Éric Lévénez writes:

| Le 30/08/03 11:23, dans , « Michel
| BILLAUD » a écrit :
|
| > Éric Lévénez writes:
| >
| >>> perl -pi -e 's/=+/+=/g' *.c *.h
| >>> et hop.
| >>
| >> Et hop, plein d'erreurs de compilation. Exemple :
| > [...]
| >
| > Merveilleux. Qui dit erreurs de compilation, dit obligation de
| > remettre le nez dans le source pour rectifier ce qui va pas.
|
| Non par merveilleux du tout, car là je donne un exemple qui part en erreur,
| mais il doit exister d'autres exemples qui changent la syntaxe sans même un
| warning.

Comme "x =+1" ou printf ("==++==")

-- Gaby
Avatar
Michel BILLAUD
Gabriel Dos Reis writes:

Éric Lévénez writes:

| Le 30/08/03 11:23, dans , « Michel
| BILLAUD » a écrit :
|
| > Éric Lévénez writes:
| >
| >>> perl -pi -e 's/=+/+=/g' *.c *.h
| >>> et hop.
| >>
| >> Et hop, plein d'erreurs de compilation. Exemple :
| > [...]
| >
| > Merveilleux. Qui dit erreurs de compilation, dit obligation de
| > remettre le nez dans le source pour rectifier ce qui va pas.
|
| Non par merveilleux du tout, car là je donne un exemple qui part en erreur,
| mais il doit exister d'autres exemples qui changent la syntaxe sans même un
| warning.

Comme "x =+1" ou printf ("==++==")


Bon la conclusion c'est qu'il faut utiliser des outils dont les
options permettent de détecter les constructions obsoletes et/ou
dangereuses, et qu'il faut aller revoir le code de temps en temps, meme
si d'aucunx objecteraient don't fix it if it ain't broken ?

Ceci dit, le remplacement précautionneux des =+ en += , c'est vraiment
le genre de truc qu'on peut faire le lundi matin pour faire semblant
de bosser tout en récuperant du week-end. PAs de quoi se péter un
neurone.

MB

--
Michel BILLAUD
LABRI-Universite Bordeaux I phone W: 05 4000 6922 / 05 4000 5792
351, cours de la Liberation http://www.labri.fr/~billaud
33405 Talence (FRANCE) http://dept-info.labri.fr/~billaud

Avatar
Vincent Lefevre
Dans l'article ,
Michel BILLAUD écrit:

Vincent Lefevre <vincent+ writes:

'h', c'est la 2e lettre de 'short',


Ca peut faire half aussi.


Oui, c'est vrai que j'ai souvent vu half-word dans certains
assembleurs (ARM, notamment)... bien qu'un short ne corresponde
pas forcément à un "half-word".

--
Vincent Lefèvre - Web: <http://www.vinc17.org/> - 100%
validated (X)HTML - Acorn Risc PC, Yellow Pig 17, Championnat International
des Jeux Mathématiques et Logiques, TETRHEX, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA


Avatar
Vincent Lefevre
Dans l'article ,
Gabriel Dos Reis écrit:

Et %a c'est pour quoi ?


Tiens, ça vient de me passer par la tête: "a" est le premier chiffre
hexadécimal qui n'est pas un chiffre décimal.

Maintenant, j'aimerais bien savoir la raison de celui qui a fait ce
choix, s'il y en a une...

--
Vincent Lefèvre - Web: <http://www.vinc17.org/> - 100%
validated (X)HTML - Acorn Risc PC, Yellow Pig 17, Championnat International
des Jeux Mathématiques et Logiques, TETRHEX, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA

Avatar
Richard Delorme

Dans l'article ,
Gabriel Dos Reis écrit:

Et %a c'est pour quoi ?


Tiens, ça vient de me passer par la tête: "a" est le premier chiffre
hexadécimal qui n'est pas un chiffre décimal.

Maintenant, j'aimerais bien savoir la raison de celui qui a fait ce
choix, s'il y en a une...


%a étant une addition récente, à mon avis c'est la première lettre
d'hexadécimal non déjà prise.

--
Richard


2 3 4 5 6