gpt4 book ai didi

c++ - for 循环运行 long long int 但不是 unsigned long long int

转载 作者:太空宇宙 更新时间:2023-11-04 15:56:25 26 4
gpt4 key购买 nike

我正在运行以下for循环

for(unsigned long long int i = N-1; i >= 0; i--){
cin>>L[i];
}

当程序到达这个代码段时,它停止响应。但是当我删除 unsigned 时,就像这样

for(long long int i = N-1; i >= 0; i--){
cin>>L[i];
}

它工作正常。为什么会这样?

最佳答案

i未签名,i >= 0始终为真,因此您的循环条件始终得到满足。

i是 0,i--原因i等于std::numeric_limits<unsigned long long>::max() ,因系统而异,但典型值为 9223372036854775807。然后您的循环计数器将从那里开始倒计时。

关于c++ - for 循环运行 long long int 但不是 unsigned long long int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56602146/

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