none
一个C++问题 RRS feed

  • 问题

  • 这个程序可以编译,没有错误,但是一执行就崩溃,为什么呢?

    #include<fstream>
    #include<iostream>
    #include<string>
    #include<vector>
    using namespace std;

    int main(){
    string line;
    vector<string> v;
    ifstream in("2-3.cpp");
    while(getline(in,line))
    v.push_back(line);
    for(int i=v.size();i>0;i--)
    cout<<v[i]<<endl;
    return 0;
    }

    2013年9月5日 10:42

全部回复

  • 这个程序可以编译,没有错误,但是一执行就崩溃,为什么呢?

    #include<fstream>
    #include<iostream>
    #include<string>
    #include<vector>
    using namespace std;

    int main(){
    string line;
    vector<string> v;
    ifstream in("2-3.cpp");
    while(getline(in,line))
    v.push_back(line);
    for(int i=v.size();i>0;i--)
    cout<<v[i]<<endl;
    return 0;
    }


    for(int i=v.size();i>0;i--) 这句代码肯定错了,vector 索引从 0 开始计数,所以最后一个元素的索引是 v.size() -1 。
    2013年9月6日 1:18