【发布时间】:2020-08-13 06:19:04
【问题描述】:
#include <stdio.h>
int main (void)
{
int x = 10^2;
long a = 4000465006540123; //(16 places)
long b = 4000465006540123 % x;
printf("%li\n", b);
}
当我运行代码时(它编译正确),代码打印出“3”。难道不是应该打印出'23',因为x是100,而不是10?
【问题讨论】:
-
^不是 C 中的幂运算符。它是按位异或。进行基本调试。至少打印出要检查的值。