我有以下代码
#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 给出 -3 作为输出,而 -8/-5 给出的输出为 1 ?
最佳答案
如果两个操作数均为非负,则余数为非负;如果不是,则余数的符号是实现定义的。
关于c - 为什么-8%-5的结果等于-3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42442417/