如下代码,for循环初始化i = 0,终止条件判断i>=0,但是当i=-1时还是进入循环了
int main() {
vector<int> vec = { 1 };
cout << vec.size() / 2 << endl;
cout << vec.size() - 1 << endl;
for (int i = vec.size() - 1; i >= vec.size()/2; i--)
{
cout << i << endl;
}
system("pause");
return 0;
}
vec.size()/2 的类型 是 long long unsigned int, 跟 i 类型不匹配, 这样比较是 有问题的, 判断条件换成 i >= 0 就行了