C++长的问题



我一直在使用有符号的长长,并且遇到了奇怪的问题 - 即不一致的行为。 即

long long i;
printf("%d", i);

这倾向于打印与 i 的实际值无关的值(cout 也发生这种情况)。

它也具有与%的随机行为,即

if(i % x == 0)
        //some code

这有时会运行,即如果i = 15x = 5它就不会返回 true,因此 if 语句不会运行代码。

出于某种原因,它往往会在x = 7上返回 true。

我相信这可能是

编译器的错误,我相信它只是 g++ 编译器(这是在比赛中)。

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

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

相关内容

  • 没有找到相关文章

最新更新