gpt4 book ai didi

c - 为什么用int错误,但long long对

转载 作者:太空狗 更新时间:2023-10-29 16:04:03 25 4
gpt4 key购买 nike

int c;
long long sum=0;
sum+=c*(c-1)/2;

当c=100000时,为什么sum不能得到正确答案?我应该写吗 sum+=(long long)(c*(c-1)/2);

最佳答案

int 我假设这里是 32 位 - 100000 平方 (10E9) 超过 int 的最大范围导致溢出。以下将起作用 - 将 c 的第一个实例转换为 long long 将意味着表达式的其余部分将是“long long compatible”。

sum+=((long long)c*(c-1)/2);

关于c - 为什么用int错误,但long long对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6079394/

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