我正在运行以下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];
}
它工作正常。为什么会这样?
答案 0 :(得分:5)
当i >= 0
为无符号时,i
始终为true,因此您的循环条件始终得到满足。
当i--
为0时,i
导致std::numeric_limits<unsigned long long>::max()
等于module.exports = async ({ req, utils }) => {
return {
statusCode: 200,
headers: {
foo: "bar"
},
body: "hello"
};
});
,这随系统而异,但典型值为9223372036854775807。循环计数器将然后从那里开始倒数。