-3

我一直在使用带符号的 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++ 编译器(它是在比赛中)。

任何减轻这种情况或为什么这样做的方法将不胜感激。

4

1 回答 1

0

要使用 printf 样式的语法打印各种整数类型需要可怕的语法——我建议改用 C++ 类型安全的 iostream。

于 2016-02-21T10:56:17.887 回答