Se connecter

Savoir & Culture

Cours et Devoirs

Sujet : programmation en c++ (exercice)
1
Norwood-1er
Niveau 7
12 octobre 2015 à 19:59:02

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:
https://www.noelshack.com/2015-42-1444670932-capture-d-ecran-2015-10-12-a-13-23-46.png

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.

Norwood-1er
Niveau 7
12 octobre 2015 à 20:28:08

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.

MerdeCaenMeme
Niveau 6
12 octobre 2015 à 20:59:18

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)

Norwood-1er
Niveau 7
12 octobre 2015 à 21:15:16

OK.

Merci beaucoup pour le coup de main. :)

1
Sujet : programmation en c++ (exercice)
News culture
La Planète des Singes : Le Nouveau Royaume - la révolution simienne est en marche !
   Retour haut de page
Consulter la version web de cette page