Bonjour.
Je suis en train d'étudier pour un examen prévu pour demain
et parmi les exercices qu'on m'a donnés à faire, il y a celui-ci sur lequel
je bloque:
Il y a plusieurs éléments dans ce code que je ne comprends pas:
1) char * c = cours ift1166 H15
Ce que je ne comprends pas, ici, c'est que «c» est déclaré comme un pointeur sur une variable de type char.
Or, lorsqu'on attribue une adresse à un pointeur, il faut utiliser le symbole «&» avant la variable dont on spécifie l'adresse, non? Ensuite, comme «c» pointe sur un char (et non pas un string), pourquoi peut-on écrire que c'est égal à une chaîne (cours ift1166 H15)?
2) while (c[i])
Je ne comprends pas ce que dit la condition entre parenthèse. De plus, il me semble que «c» n'a pas été
déclaré comme un tableau.
Si mes questions ne vous paraissent pas clair, n'hésitez pas à me le faire savoir.
Merci à ceux qui prendront le temps de m'aider.
Je comprends, mais ce qui m'embête surtout, c'est que «c» est déclaré comme un pointeur et un pointeur est supposé contenir une adresse. Et le pire, c'est que «c» n'est pas déclaré comme un tableau.
char * c = " blabla" => c est un pointeur sur un tableau char
while(c(i)) => on parcoure toute la chaine étant donné qu'une chaine de caractères valide est terminée par 0
ton programme va donc t'afficher
cours ift1166 H15 ift1166
0 (return 0)
OK.
Merci beaucoup pour le coup de main.