【问题标题】:C++ long long issuesC++ 长长的问题
【发布时间】:2016-02-21 09:44:15
【问题描述】:

我一直在使用带符号的 long long,但遇到了奇怪的问题 - 即不一致的行为。即

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

这往往会打印与 i 的实际值无关的值(这也发生在 cout 中)。

它还具有% 的随机行为,即

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

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

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

我认为这可能是编译器的错误,我认为它只是 g++ 编译器(当时是在比赛中)。

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

【问题讨论】:

标签: c++ long-long


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 2020-10-01
    • 2017-09-06
    相关资源
    最近更新 更多