[C] char c = "A";
Résolu
Shik
-
Shik -
Shik -
Salut tout le monde.
Je (re)découvre le C après avoir mis mon étude de ce langage de coté pendant quelques mois, j'ai donc repris à la base pour refaire quelques tests histoire de voir si j'avais pas trop perdu la main :)
Et j'ai assez vite rencontré un petit problème, lors de l'initialisation d'un char j'ai mis des " au lieu des '. Je m'en suis assez vite rendu compte mais une question me taraude, si j'écris
char c="A";
printf("%d",c);
le résultat affiché est "100", mais je peux écrire n'importe quoi entre mes guillemets(n'importe quel caractère, chaine de caractère, ou même rien) j'obtiens toujours "100" comme résultat.
J'ai fait différents tests mais je ne trouve pas d'explication.
Ma question est donc, d'ou sort cette valeur ?
Si quelqu'un a une réponse je l'en remercie déjà :)
Je (re)découvre le C après avoir mis mon étude de ce langage de coté pendant quelques mois, j'ai donc repris à la base pour refaire quelques tests histoire de voir si j'avais pas trop perdu la main :)
Et j'ai assez vite rencontré un petit problème, lors de l'initialisation d'un char j'ai mis des " au lieu des '. Je m'en suis assez vite rendu compte mais une question me taraude, si j'écris
char c="A";
printf("%d",c);
le résultat affiché est "100", mais je peux écrire n'importe quoi entre mes guillemets(n'importe quel caractère, chaine de caractère, ou même rien) j'obtiens toujours "100" comme résultat.
J'ai fait différents tests mais je ne trouve pas d'explication.
Ma question est donc, d'ou sort cette valeur ?
Si quelqu'un a une réponse je l'en remercie déjà :)
A voir également:
- [C] char c = "A";
- Coco char - Accueil - Réseaux sociaux
- Fermeture de Coco : les internautes à la recherche d'un remplaçant - Accueil - Réseaux sociaux
- If char ✓ - Forum Programmation
- Convertir un char en int en c ✓ - Forum C
- [C] char ***, char **, char * ? ✓ - Forum C
1 réponse
Bonjour
L'initialisation du char s'effectue entre apostrophe pas entre guillemet. D'ailleurs le compilateur doit vous prevenir.
Si tu mets entre guillemet, tu specifies au compilateur que tu parles de chaines de caracteres. Ta variable c va donc contenir l'adresse de la chaine mais "tronque" car le char va de 0 a 255 (capacite plus petite que celle du void*).
Cdlt
L'initialisation du char s'effectue entre apostrophe pas entre guillemet. D'ailleurs le compilateur doit vous prevenir.
Si tu mets entre guillemet, tu specifies au compilateur que tu parles de chaines de caracteres. Ta variable c va donc contenir l'adresse de la chaine mais "tronque" car le char va de 0 a 255 (capacite plus petite que celle du void*).
Cdlt
Merci pour ta réponse :)