Compteur de boucle en c++: i++ ou ++i
Résolu/Fermé
igor
-
9 sept. 2003 à 15:01
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 févr. 2010 à 21:00
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 févr. 2010 à 21:00
A voir également:
- I++
- Compteur de contractions - Télécharger - Santé & Bien-être
- Comment ralentir un compteur linky - Guide
- Boucle excel sans macro - Forum Excel
- Boucle cmd - Forum Programmation
- Quelle puissance d'aimant pour bloquer un compteur edf forum - Forum Réseau
8 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 655
9 sept. 2003 à 15:51
9 sept. 2003 à 15:51
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.
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 :
https://forums.codeguru.com/showthread.php?231052-C-Operator-Why-should-I-use-i-instead-of-i
Plus d'information ici :
https://forums.codeguru.com/showthread.php?231052-C-Operator-Why-should-I-use-i-instead-of-i
peppena
Messages postés
143
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
3 août 2010
5
9 sept. 2003 à 15:41
9 sept. 2003 à 15:41
c 'est i++
;-)
;-)
michelh
Messages postés
16
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
12 mars 2005
25
10 sept. 2003 à 08:26
10 sept. 2003 à 08:26
Effectivement, i++ correspond à une post incrémentation alors que ++i correspond à une pré-incrémentation.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
9 févr. 2010 à 21:00
9 févr. 2010 à 21:00
Bonjour,
La pré-incrémentation sur les types non natifs (++variable) est souvent plus optimisée, bien que de moins en moins vraie de par la performance des compilateurs.
i++ renvoie la valeur i
++i renvoie la valeur i+1
Cdlt,
La pré-incrémentation sur les types non natifs (++variable) est souvent plus optimisée, bien que de moins en moins vraie de par la performance des compilateurs.
i++ renvoie la valeur i
++i renvoie la valeur i+1
Cdlt,
Bonjour
http://www.world-prog.com
salut
http://www.world-prog.com
salut
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.......
Et je ne connais pas plus le français.et j'espoire conseil moi
Et merci pour tout le monde.......
Bonjour,
moi j'ai un petit soucis avec cet function.
for ($i=01;$i<26;$i++)
J'aimerais que ça m'incrémente : 01, 02, 03 au lieu de 1, 2, 3
car j'ai un soucis d'affichage lorsque je trie par numéro.
ça me fait 1, 10, 11, 12, 2, 3, 4, 5, 6, 7, 8, 9 etc...
Quelqu'un aurait une solution pour moi ?
cordialement et merci d'avance !!!
moi j'ai un petit soucis avec cet function.
for ($i=01;$i<26;$i++)
J'aimerais que ça m'incrémente : 01, 02, 03 au lieu de 1, 2, 3
car j'ai un soucis d'affichage lorsque je trie par numéro.
ça me fait 1, 10, 11, 12, 2, 3, 4, 5, 6, 7, 8, 9 etc...
Quelqu'un aurait une solution pour moi ?
cordialement et merci d'avance !!!
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
660
9 févr. 2010 à 20:19
9 févr. 2010 à 20:19
bonjour,
votre question est différente de l'objet de ce sujet (déjà résolu par ailleurs), je vous conseille d'en créer un nouveau, et surtout de préciser votre langage car ça n'a pas l'air d'être du C++ .
cdlt
votre question est différente de l'objet de ce sujet (déjà résolu par ailleurs), je vous conseille d'en créer un nouveau, et surtout de préciser votre langage car ça n'a pas l'air d'être du C++ .
cdlt
9 sept. 2003 à 16:04
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
9 sept. 2003 à 16:21
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]).
9 sept. 2003 à 16:25
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.
9 sept. 2003 à 17:02
10 sept. 2003 à 14:55
{
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)