Une fois de plus, nos questions les plus appréciées "i = i--". En C99, nous avons:Existe-t-il une documentation spécifique pour le comportement de "i = i--" dans gcc?
6.5 Expressions # 2: Entre le précédent et suivant le point de séquence d'un objet aura sa valeur stockée modifiée au plus une fois
70) Ce paragraphe rend !! indéfini!! expressions déclaration tels que
i = ++i + 1;
Mais pour le comportement undefinded il peut y avoir des variantes de sortie aléatoire pour "l'exécution du programme d'une manière documentée" (c99 3.4.3)
Ainsi, la question:
Est-ce que gcc documente le comportement pour les instructions i = i ++, i = i--, etc.
code actuel est
int main(){int i=2;i=i--;return i;}
Non, gcc ne documente pas ce qu'il fait dans ce cas. Les implémenteurs de Gcc recherchent, entre autres, la rapidité du code généré. Documenter ce que cet exemple fait irait à l'encontre de cet objectif. Faire des programmeurs qui écrivent du code comme celui-ci heureux n'a aucun poids comparé à l'amélioration des résultats des tests. –