关于结构体指针以及文件的读取问题
快乐的逗比 2011-12-15 04:01:34 下边代码哪里错了?我找了半天找不到啊?
#include <iostream>
#include <fstream>
#include <iomanip>
#include <stdlib.h>
typedef struct strArrayInfo
{
int K;
int N1,N2;
double *x; /*序列1*/
double *y; /*序列2*/
}ARRAYINFO;
using namespace std;
ARRAYINFO ReadArrayInfo();
double CalcKthSmallestElem(ARRAYINFO info);
void main()
{
ARRAYINFO info;
info = ReadArrayInfo();
CalcKthSmallestElem(info);
}
ARRAYINFO ReadArrayInfo()
{
int i;
ifstream infile("input.txt",ios_base::in);
ARRAYINFO INFO;
infile >> INFO.K;
infile >> INFO.N1;
infile >> INFO.N2;
INFO.x = new double[INFO.N1];
INFO.y = new double[INFO.N2];
for(i = 0;i < INFO.N1;i++)
{
infile >> INFO.x[i];
cout << INFO.x[i] << endl;
}
for(i = 0;i < INFO.N2;i++)
{
infile >> INFO.y[i];
cout << INFO.y[i] << endl;
}
cout<<INFO.y[0]<<endl;
delete []INFO.x;
delete []INFO.y;
infile.close();
return INFO;
}
double CalcKthSmallestElem(ARRAYINFO info)
{
cout<<info.K<<endl;
cout<<info.N1<<endl;
cout<<info.N2<<endl;
for(int i=0;i < info.N1;i++)
cout<<info.x[i]<<endl;
for(int j=0;j<info.N2;j++)
cout<<info.y[j]<<endl;
return 0;
}
读取文件:
2
3 2
1.12 3.09 4.00
6.13 7.78
info.y[0]是不确定值
当改为如下情况:
2
3 3
1.12 3.09 4.00
6.23 7.78 1.23
可以正确输出结果
但是,继续修改为如下情况:
2
3 4
1.12 3.09 4.00
6.23 7.78 1.23 2.34
info.y[0]又成了不确定值,这到底是为什么呢?跪求高人解答,谢谢