0

我有一个从用户读取数据的结构:

typedef struct
{
    int seconds;
} Time;

typedef struct
{
    Time time;
    double distance;
 } Training;


 Training input;

 scanf("%d %lf", input.time.seconds, input.distance);

这个scanf将被循环,用户每次可以输入不同的数据,我想把这些数据存储在一个数组中以备后用。我想我想要 arr[0].seconds 和 arr[0].distance 之类的东西。

我试图将输入的数据存储在一个数组中,但它根本不起作用......

Training data[10];

data[10].seconds = input.time.seconds;
data[10].distance = input.distance;

当程序关闭时,数据将被擦除,这就是我喜欢的样子。所以我希望它存储在一个数组中,没有文件或数据库!

4

2 回答 2

1

data[10]Training没有的类型seconds。尝试:

Training data[10];

data[10].time.seconds = input.time.seconds;
data[10].distance = input.distance;
于 2013-11-12T21:54:29.553 回答
0

两件事,训练集有一个'time'字段来访问秒,如果你定义一个10个元素的数组,你只能使用data[0]到data[9],data[10]会过去的数组。

Training data[10];

data[0].time.seconds = input.time.seconds;
data[0].distance = input.distance;

....

data[9].time.seconds = input.time.seconds;
data[9].distance = input.distance;
于 2013-11-12T21:56:43.047 回答