y'a til une différence ?

y'a til une différence ? - C - Programmation

Marsh Posté le 08-06-2007 à 17:08:51    

bonjour,

 

j'aimerai savoir s'il y a une différence entre

Code :
  1. for (i=0; i<n; i++)
 

et

Code :
  1. for (i=0; i<n; ++i)
 


est ce que ça peut avoir une incidence cette post ou pré-incrémentation ?

 

merci  :jap:

Message cité 1 fois
Message édité par in_your_phion le 08-06-2007 à 17:09:15
Reply

Marsh Posté le 08-06-2007 à 17:08:51   

Reply

Marsh Posté le 08-06-2007 à 18:40:43    

Non.
 
Par contre,  ici oui :
 
a  =  ++x;  est différent de    a = x++;
 
dans le premier cas  a    reçoit x + 1.  Dans le second   a   reçoit x.


Message édité par bignose le 08-06-2007 à 18:41:47
Reply

Marsh Posté le 08-06-2007 à 22:28:14    

in_your_phion a écrit :

bonjour,
 
j'aimerai savoir s'il y a une différence entre  

Code :
  1. for (i=0; i<n; i++)


 
et

Code :
  1. for (i=0; i<n; ++i)


 
 
est ce que ça peut avoir une incidence cette post ou pré-incrémentation ?
 
merci  :jap:


oui et oui ... une simple recherche google te donnera la réponse ...


---------------
Töp of the plöp
Reply

Marsh Posté le 08-06-2007 à 22:30:57    

_darkalt3_ a écrit :

oui et oui ... une simple recherche google te donnera la réponse ...


 
google n'aime pas les ++ ; etc ....  :o

Reply

Marsh Posté le 08-06-2007 à 22:34:29    

_darkalt3_ a écrit :

oui et oui ... une simple recherche google te donnera la réponse ...


Non et non en l'occurence, la valeur de retour de l'incrémentation n'étant pas utilisée il n'y a aucune différence sémantique (contrairement au cas que bignose a montré), et n'importe quel compilo moderne traduit ces instructions par un simple opcode INC (ou, si l'index n'est pas utilisé, un DEC histoire de faire une comparaison avec 0 plutôt qu'avec n)

Message cité 3 fois
Message édité par masklinn le 08-06-2007 à 22:35:18

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 08-06-2007 à 22:35:43    

masklinn a écrit :

Non et non en l'occurence, la valeur de retour de l'incrémentation n'étant pas utilisée il n'y a aucune différence sémantique (contrairement au cas que bignose a montré), et n'importe quel compilo moderne traduit ces instructions par un simple opcode INC


 
Il a jamais parlé de compilation :o


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 08-06-2007 à 22:39:39    

0x90 a écrit :

Il a jamais parlé de compilation :o


C'est du C, donc il y a obligatoirement compilation, et j'ai pris  

Citation :

j'aimerai savoir s'il y a une différence entre


comme "y a-t-il une différence sémantique" et

Citation :

est ce que ça peut avoir une incidence


comme "y a-t-il une autre conséquence possible e.g. perfs" :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 08-06-2007 à 22:57:03    

masklinn a écrit :

la valeur de retour de l'incrémentation n'étant pas utilisée il n'y a aucune différence sémantique


 
C'est ce que je cherche à savoir, s'il la poste ou pré décrémentation dans une boucle et à cet endroit peut changer la condition d'arret ou améliorer la performance  
 
merci  :jap:

Reply

Marsh Posté le 09-06-2007 à 16:15:15    

in_your_phion a écrit :

C'est ce que je cherche à savoir, s'il la poste ou pré décrémentation dans une boucle et à cet endroit peut changer la condition d'arret

non

in_your_phion a écrit :

ou améliorer la performance


non plus. Relis ce que t'a dit Masklinn

Reply

Marsh Posté le 10-06-2007 à 16:39:22    

masklinn a écrit :

Non et non en l'occurence, la valeur de retour de l'incrémentation n'étant pas utilisée il n'y a aucune différence sémantique (contrairement au cas que bignose a montré), et n'importe quel compilo moderne traduit ces instructions par un simple opcode INC (ou, si l'index n'est pas utilisé, un DEC histoire de faire une comparaison avec 0 plutôt qu'avec n)


Certes, dans ton interpretation tu as raison.
 
Cela dit, la post et pré incrémentation, c'est différent.
Et dans l'exemple cité, évidemment, il n'y a pas de différence. Mais ce n'est pas toujours le cas.


---------------
Töp of the plöp
Reply

Marsh Posté le 10-06-2007 à 16:39:22   

Reply

Marsh Posté le 10-06-2007 à 16:40:02    

in_your_phion a écrit :

google n'aime pas les ++ ; etc ....  :o


c'est vrai :D
http://www.google.fr/search?hl=fr& [...] cher&meta=


---------------
Töp of the plöp
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed