gpt4 book ai didi

c++ - VS2010中的模组问题

转载 作者:行者123 更新时间:2023-11-28 06:19:43 25 4
gpt4 key购买 nike

有一个 long long 数 11111111111111111 和一个 int 数 99,当我使用 mod 运算符时,它突然将 99 更改为 0。

这之后又变成了99。这是我的代码:

    if(cur.sum % N == 0 && cur.sum > 0){
printf("%I64d %d %d %d",cur.sum,N,cur.sum%N,N);
return cur.t;
}

除了获取数据外,我从不改变 N 的值。![我的ide是vs2010][1]

最佳答案

cur.sum%N仍然是long long并且需要是 printf%I64d 编辑否则你的第一个%d将打印 long long 的前半部分最后一个值 %d将打印 long long 的下半部分值*。

要修复它,请更改您的 printf:

printf("%I64d  %d  %I64d  %d",cur.sum,N,cur.sum%N,N);

或者更好的是,使用 << C++ 标准库流上的运算符,这意味着您无需指定格式参数。

注意*:值的前半部分和后半部分在不同的机器上可能会有所不同,具体取决于您计算机的字节顺序。

关于c++ - VS2010中的模组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29528082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com