#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。
答案 0 :(得分:0)
所以i
从1开始,这意味着如果只有一个数字,则while循环运行一次,将i
设置为2,然后将n
设置为{{当你打印数字时,从1到i
(包括),这是1和2,但你只有一个数字。
简而言之,你打印的元素比你应该多一个。