Dans un programme C, j'ai essayé les opérations suivantes (juste pour vérifier le comportement)
x = 5 % (-3);
y = (-5) % (3);
z = (-5) % (-3);
printf("%d ,%d ,%d", x, y, z);
Cela m'a donné le résultat suivant (2, -2 , -2)
dans gcc. Je m'attendais à un résultat positif à chaque fois. Un modulus peut-il être négatif ? Quelqu'un peut-il expliquer ce comportement ?