在文件中显示数组

时间:2013-05-26 11:35:19

标签: c++ mingw

#include<iostream.h>
#include<fstream.h>
using namespace std;
ifstream f("nr.txt");
int n=0,i=1,aux[100],j=1,m,v[100];
int main()
{     
    while(f>>v[i])
    {
        i++;
    }
    n=i;
    for(i=1;i<=n;i++)
        cout<<v[i]<<" ";
}

我的“nr.txt”文件包含以下数字:-3 -10 0 7 -5 7 51 -800 6 3798 当我运行程序时,它应该显示文件中的所有这些数字,但它会再显示一个(0)......为什么会这样?如果我在main函数中声明数组,则显示6226116而不是0。

1 个答案:

答案 0 :(得分:0)

所以i从1开始,这意味着如果只有一个数字,则while循环运行一次,将i设置为2,然后将n设置为{{当你打印数字时,从1到i(包括),这是1和2,但你只有一个数字。

简而言之,你打印的元素比你应该多一个。