小编Abh*_*ora的帖子

对负数进行模运算

模运算a%b返回余数,a/b但对于负数,它不会这样做.

#include <stdio.h>

int main(void) {
  int n=-4;
  printf("%d\n",n%3);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

它应返回2为3*( - 2)= - 6小于-4且倍数为3但输出为-1.为什么它(-a) mod b一样对待-(a mod b)

c modulo negative-number

0
推荐指数
1
解决办法
2818
查看次数

标签 统计

c ×1

modulo ×1

negative-number ×1