我一直在使用带符号的 long long 并且遇到了奇怪的问题 - 即不一致的行为。IE
long long i;
printf("%d", i);
这往往会打印与 i 的实际值无关的值(这也发生在 cout 中)。
它还具有随机行为%
,即
if(i % x == 0)
//some code
这有时会运行,即 ifi = 15
并且x = 5
它不会返回 true,因此 if 语句不会运行代码。
x = 7
由于某种原因,它往往会返回 true 。
我相信这可能是编译器的错误,我认为它只是 g++ 编译器(它是在比赛中)。
任何减轻这种情况或为什么这样做的方法将不胜感激。