de Possible en double:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)Increment opérateur en PHP et C Langue
J'ai rencontré un problème étrange qui concerne l'opérateur d'incrément.
-je obtenir une sortie différente de même expression en PHP et C.
In C language
main()
{
int i = 5;
printf("%d", i++*i++); // output 25;
}
In PHP
$i = 5;
echo $i++*$i++; // output 30
Quelqu'un peut-il expliquer ce comportement étrange? Merci.
En C c'est un comportement indéfini, Donc, techniquement, vous pouvez obtenir n'importe quelle sortie. Bonne lecture: [Comportement indéterminé et points de séquence] (http://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points –
@Ashwini - Pourquoi est-ce important? Que voulez-vous utiliser comme code pour ça? –
En PHP, ceci est également indéfini. Voir [Exemple 1] (http://php.net/manual/fr/language.operators.precedence.php). – netcoder