vector
array;
array.push_back( 1 );
array.push_back( 2 );
array.push_back( 3 );
for( vector ::size_type i=array.size()-1; i>=0; --i ) // 反向遍历array数组
{
cout < < array[i] < < endl;
}
当我运行代码的时候,没有输出 3 2 1,而是输出了一大堆很大的数字,为什么?
于是我修改了代码
for(vector ::size_type j=array.size();j>0;j--)
{
cout < < "element is " < }
这样就输出了 3 2 1,倒是为什么呢?
========================================
第一遍循环: i = 2, 输出array[2],即3
第二遍循环: i = 1, 输出array[1], 2
第三遍循环: i = 0, 输出array[0], 1
在第三遍循环出来时候 --i使得i变成-1,一个很大的数,就陷入循环了
阅读(3599) | 评论(5) | 转发(0) |