Je n'allais pas empieter sur le tien...Envoyé par CSoldier
Je n'allais pas empieter sur le tien...Envoyé par CSoldier
Tout à fait d'accord.Envoyé par Jack_serious
Ca me fait penser à quelque chose : on m'a bien appris que le '\0' était le caractère de fin de chaîne, et j'ai été très surpris lorsque j'ai rencontré un prof (pas d'informatique...) qui n'utilisait pas dans ses cours '\0', mais à place "0" ?! Je lui ai fais la réfléxion, mais bon voila il n'a pas su me convaincre, en gros il dit que c'est pareil![]()
Ca depend
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 char buffer[10]; buffer[0] = 0; buffer[0] = '\0'; //equivalent buffer[0] = '0'; // pas equivalent
En effet '\0', ou 0 tout court, est le vrai 0 ASCII alors que '0' est le 48 ASCII.
Il y a des agruments en faveur des deux...
Avec 0, on est sûr de ne pas faire d'erreur en le tapant, mais à la relecture, c'est un peu plus long de savoir que c'est bien de caractères qu'on parle...
Avec '\0', on voit du premier coup d'oeil qu'il s'agit d'un caractère (et bien sûr, on ne l'emploie QUE pour des caractères) mais si on oublie le \, c'est la catastrophe.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager