Bonjour,
J'ai un peu de mal avec les chaines de caractère, aussi j'ai voulu faire quelques tests, et je tombe sur un os.
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <stdlib.h> #include <stdio.h> int main () { char *chaine = "a" ; printf ( "%s" , chaine ) ; printf ( "%d" , chaine ) ; /* ne passe pas a la compilation, car printf demande un type char*. Pourtant, chaine est un pointeur, donc une adresse, donc un type int pour moi. Une explication ?*/ printf ( "%d" , *chaine ) ; return EXIT_SUCCESS ; }
a
1345143840 (je sais pas à quoi ça correspond, parce que j'ai un warning à la compilation...)
97 (ce résultat me parait bizarre, je pensais que printf ( "%d" , *chaine ) me renverrai le code ascii de la lettre a, or 97 ne correspond pas.)
Merci d'avance de vos explications (:
Partager