В программе на Си я пробовал следующие операции (просто чтобы проверить поведение)
x = 5 % (-3);
y = (-5) % (3);
z = (-5) % (-3);
printf("%d ,%d ,%d", x, y, z);
дал мне вывод как (2, -2 , -2)
в gcc. Я ожидал положительного результата каждый раз. Может ли модуль быть отрицательным? Кто-нибудь может объяснить это поведение?
Возможный дубликат stackoverflow.com/questions/4003232/…
—
Джеймс
возможный дубликат оператора Modulo с отрицательными значениями
—
sugavaneshb