GodzilLe 22/04/2018 à 19:39
Je ne sais pas, mais personellement le fait que les "++" et "--" ai une priorité supérieure au || et && est contradictoire avec le "sequence point", et apres regardage de la sortie de compilateur pour un code aussi simple que
void bar(int x, int y, int z);
void foo(int a, int b, int c) {
if ((a++ > b) || (a++ < c))
b+=53;
bar(a, b, c);
}
Tu peux avoir des (mauvaises) surprises sur la valeur de A en sortie.
Le code en question reste sale et sujet a des effets de bords potentiellement indesirable. Je ne me risquerais pas a ecrire un telle chose