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

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
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


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
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