This question already has answers here:
Modulo operation with negative numbers
(12个答案)
2年前关闭。
我有以下代码
我得到的输出是
-8%5和8%-5的符号如何不同,尤其是当-8/5和8 / -5的结果具有相同的输出时?
另外,为什么当-8 / -5将其输出为1时,-8%-5给出-3作为输出?
(12个答案)
2年前关闭。
我有以下代码
#include <stdio.h>
int main(void)
{
printf("%d\n", -8%5);
printf("%d\n", 8%-5);
printf("%d\n", -8%-5);
return 0;
}
我得到的输出是
-3
3
-3
-8%5和8%-5的符号如何不同,尤其是当-8/5和8 / -5的结果具有相同的输出时?
另外,为什么当-8 / -5将其输出为1时,-8%-5给出-3作为输出?
最佳答案
如果两个操作数均为非负数,则其余为非负数;如果不是,则其余符号由实现定义。
关于c - 为什么-8%-5的结果等于-3 ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42442417/
10-13 06:22