我这里的模数代码有什么问题?(C)

Jam*_*Kim 0 c modulus

#include <stdio.h>

int main (void)
{
  int x = 10^2;
  long a = 4000465006540123; //(16 places)
  long b = 4000465006540123 % x;
  
  printf("%li\n", b);
}
Run Code Online (Sandbox Code Playgroud)

当我运行代码时(它正确编译),代码打印出“3”。难道它不应该打印出“23”,因为 x 是 100,而不是 10?

chu*_*ica 5

int x = 10^2;同样int x = 8;作为^是异或运算符。

使用int x = 100;10*10


注意:在 C 中, %余数运算符而不是模数阴性结果a%b出现时a < 0


归档时间:

查看次数:

61 次

最近记录:

5 年,6 月 前