In einem C-Programm habe ich die folgenden Operationen versucht (nur um das Verhalten zu überprüfen)
x = 5 % (-3);
y = (-5) % (3);
z = (-5) % (-3);
printf("%d ,%d ,%d", x, y, z);
gab mir Ausgabe wie (2, -2 , -2)
in gcc. Ich hatte jedes Mal ein positives Ergebnis erwartet. Kann ein Modul negativ sein? Kann jemand dieses Verhalten erklären?