Rechercher : dans
Par :

Compteur de boucle en c++: i++ ou ++i

Dernière réponse le 9 avr 2009 à 15:43:54 igor, le 9 sep 2003 à 15:01:29 
 Signaler ce message aux modérateurs

Bj,

concretement quelle est la difference entre ces deux notations de compteur?

Y a t-il un cas ou la boucle debute son iteration a i et l'autre a i+1?

meric

Meilleures réponses pour « compteur de boucle en c++: i++ ou ++i » dans :
Langage C++ - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Introduction au langage C VoirPetite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie...

1

peppena, le 9 sep 2003 à 15:41:53

C 'est i++

;-)

Répondre à peppena

2

sebsauvage, le 9 sep 2003 à 15:51:56
  • +2

int i = 1;
printf("%d", i++); 

affichera 1, car i sera incrémenté après avoir donné sa valeur.



int i = 1;
printf("%d", ++i); 

affichera 2, car i sera incrémenté avant d'avoir donné sa valeur.

Répondre à sebsauvage

3

igor, le 9 sep 2003 à 16:04:36

Ok pour cet exemple, mais dans le cas d'une boucle...

est-ce qu'elle commence des la verification de la condition, ou bien est-ce qu'elle passe par l'incrementeur.

on m'a raconte les deux versions...

mettons

for i=0, i<nbval, i++

ce cas ira t-il de 0 a nbval -1

et i=0, i<nbval, ++i

et ceului ci de 1 a nbval

meric

Répondre à igor

4

Marden, le 9 sep 2003 à 16:21:14

Les deux solutions donneront le même résultat, puisque l'intruction dite de "pré-incrémentation" ou "post-incrémentaion" sera entièrement exécutée avant l'exécution du test.
La différence entre les deux modes n'est sensible que dans le cas d'une affectation ( x = i++ différent de x = ++i ), ou d'un adressage ( tab[i++] = x différent de tab[++i]).

Répondre à Marden

5

igor, le 9 sep 2003 à 16:25:46

Merci!

on m'a quand meme parle d'une utilisation preferable de i++ au niveau de l'optimisation du calcul

quoi qu'il soit merci a tous et surtout a marden.

Répondre à igor

6

Marden, le 9 sep 2003 à 17:02:00

Surtout à ... tous. Chaque intervenant essaie de répondre en fonction de ses connaissances, et selon ce qu'il croit être la meilleure façon d'aider celui ou celle qui a posé la question.

Répondre à Marden

8

chris, le 10 sep 2003 à 14:55:59

For (i=0;i<nbval;i++)
{
Code;
}
est équivalent à
i = 0
while (i<nbval)
{
Code;
i++;
}

Donc si tu remplaces i++ par ++i, le résultat sera identique, et dans les 2 cas, i ira de 0 à nbval-1 (et pas de 1 à nbval avec ++i)

Répondre à chris

7

michelh, le 10 sep 2003 à 08:26:50

Effectivement, i++ correspond à une post incrémentation alors que ++i correspond à une pré-incrémentation.

Répondre à michelh

9

jm22, le 5 fév 2009 à 17:36:26
  • +1

Par habitude j'utilise ++i, plutôt que i++. Pour les types natifs, cela a peu d'importance mais pour les itérateurs cela est préférable.

Plus d'information ici :
http://www.codeguru.com/forum/showthread.php?t=231052

Répondre à jm22

10

joujou, le 5 fév 2009 à 17:41:59

Je suit une etudiente en lycée libre à sousse ,niveau 3ème année informatique et vraiment j'ai trais triste par ce que je ne pas perfect à la programation et pour succè l'année prochaine .
Et je ne connais pas plus le français.et j'espoire conseil moi


Et merci pour tout le monde.......

Répondre à joujou

11

annoncez, le 9 avr 2009 à 15:29:40
Répondre à annoncez

12

 igor, le 9 avr 2009 à 15:43:54

Vend 504 peugeot blanche break diesel prix plancher...

j'ai aussi une collection de bédé.

NB: a l'etudiante qui veux travailler sa langue... c'est bien mais y a pas que ca
NB2 (au pauv'type qui s'est pas fait censurer pour referencement abusif): bien tenté!

Répondre à igor
Collection CommentÇaMarche.net