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.

10 réponses

2 3 4 5 6
Avatar
Richard Delorme



In 'fr.comp.lang.c', Gabriel Dos Reis
wrote:

Et %a c'est pour quoi ?


"attention"


Je crois que tu confonds avec 'a' qui veut dire "alerte". %a sert à
formater des doubles en notation hexadécimale.

C'est nouveau ?

Je ne l'ai trouvé sur aucun de mes compilateurs (mais ils ne sont pas très
récents)


Oui, c'est du C99.

--
Richard




Avatar
Emmanuel Delahaye
In 'fr.comp.lang.c', Richard Delorme wrote:

Et %a c'est pour quoi ?


"attention"


Je crois que tu confonds avec 'a' qui veut dire "alerte". %a sert à
formater des doubles en notation hexadécimale.


Carrément, oui. Retour de vacances difficile... J'ai jusqu'à lundi pour me
réveiller...

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
<blank line>
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/



Avatar
Emmanuel Delahaye
In 'fr.comp.lang.c', Yves ROMAN wrote:

<...> %a sert à
formater des doubles en notation hexadécimale.

C'est nouveau ?

Je ne l'ai trouvé sur aucun de mes compilateurs (mais ils ne sont pas très
récents)



C99.

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
<blank line>
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/


Avatar
Emmanuel Delahaye
In 'fr.comp.lang.c', Gabriel Dos Reis wrote:

| >| > %a n'est pas mal non plus.
| >|
| >| "attention" !
| >
| > à quoi, å qui ?
|
| C'est le sens de "%a"

et ?


Rien!

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
<blank line>
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/

Avatar
Michel BILLAUD
Vincent Lefevre <vincent+ writes:

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


Ca peut faire half aussi.

le 's' étant déjà pris pour 'string'.
Ce n'est pas un plus mauvais choix que le %s (qui peut vouloir dire
string ou short).


Quand le programmeur moyen n'est pas foutu de se rappeller que, dans
le langage qu'il utilise tous les jours, les entiers c'est ceci et les
chaines c'est cela, meme si le choix n'est pas la première idée qui
serait venue à l'esprit, ça indique qu'il est temps qu'il se fasse
remplacer le cerveau.

Quand aux intermittents de la programmation qui ne connaissent pas
bien le langage, qu'ils achetent un bouquin pour apprendre et qu'ils
se fassent des anti-sèches jusqu'à ce que ça rentre.

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
Michel BILLAUD
Christophe Le Gal writes:

Mais il y a du progrès avec =+ qui
n'est plus dans supporté par les compilos. Les vieux trucs peuvent ainsi
disparaître sans trop de casse.


C'est vrai que le =+ c'etait pas joli.


C'etait pourtant parfaitement naturel, pour ceux qui connaissaient Algol 68.
http://cm.bell-labs.com/cm/cs/who/dmr/chist.html

Comme je suis de la generation qui ne l'a pas jamais utilise, sa
disparition ne me derange pas.
Mais je suppose que les gens qui ont de vieux programmes utilisant =+
ne doivent pas penser comme moi.


perl -pi -e 's/=+/+=/g' *.c *.h
et hop.


--
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
Christophe Le Gal
In article , Michel BILLAUD wrote:
Mais il y a du progrès avec =+ qui ...
C'est vrai que le =+ c'etait pas joli.

C'etait pourtant parfaitement naturel, pour ceux qui connaissaient Algol 68.

http://cm.bell-labs.com/cm/cs/who/dmr/chist.html


Surement.
Mais il y a un poil ambiguite avec x=(+1).

Quand on y pense, ca doit etre assez terrible pour qqn qui ressort des
vieilles dat, essaie de compiler du vieux code C, constate que, Ô miracle,
ca compile sans un warning du premier coup, et que, scheiße, ça ne
marche pas du tout. Ca doit pas etre tout simple a trouver comme erreur.

perl -pi -e 's/=+/+=/g' *.c *.h


Une façon de formuler le debat a 2 balles est donc, est-ce que c'est
au vieux programmeur C de passer son code par
sed s/=+/+=/g
ou au jeune de
sed 's/=+ *([^ ;]*)/=(+1)/g'
{mon expression reguliere ne couvrant bien entendu pas tout}

Cordialement,
--
Christophe Le Gal



Avatar
Michel BILLAUD
Gabriel Dos Reis writes:
|
| > 'h', c'est la 2e lettre de 'short',
| Ca peut faire half aussi.

half de quoi ?


Half l'extraterrestre ?

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
Michel BILLAUD
É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. Donc
occasion de se décider à règler leur compte à ces foutus =+, entre
autres.

Le compilateur est votre ami. La vie est bien faite, finalement.

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
Gabriel Dos Reis
Michel BILLAUD writes:

| Éric Lévénez writes:
|
| > > perl -pi -e 's/=+/+=/g' *.c *.h
| > > et hop.
| >
| > Et hop, plein d'erreurs de compilation. Exemple :
| [...]
|
| Merveilleux.

Mais il n'y a pas que les erreurs de compilations. Il y a aussi les
changements de sémantiques non détectés par le compilo.

| Qui dit erreurs de compilation, dit obligation de
| remettre le nez dans le source pour rectifier ce qui va pas.

En somme, le schmilblick n'a pas avancé.

-- Gaby
2 3 4 5 6