gpt4 book ai didi

将结构体数组转换为结构体?

转载 作者:行者123 更新时间:2023-11-30 15:43:10 29 4
gpt4 key购买 nike

我有一个结构体数组 (Training data[10]),其中包含一些我想要传递给函数的数据。

int convertTime(Time time)
{

minutes = time.seconds * 60;
// Takes data from data[0].time.seconds and converts them to minutes.
// My only problem is that I am being asked send a struct to this function, but I have to send the array because that's where all my data is stored

return minutes;
}

typedef struct
{
int seconds;
} Time;

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

Training data[10];

Training input;

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

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

现在 data[0].time.secondsdata[0].distance 包含我需要的所有数据。我只需将 data[0].time.seconds 传递给函数,但在我的作业中,系统提示我将结构 Time 发送给函数,但我不这样做不明白,因为 Time 仅存储临时数据?这是我想要发送给函数的存储数据。

如何将秒转换为小时、分钟和秒?

time.hours = seconds / 3600;
time.minutes = (seconds - time.hours * 3600) / 60;
time.seconds = seconds - 3600 * time.hours - 60 * time.minutes;

这在我看来似乎是正确的,但它失败了。小时计算正确,但分钟和秒计算不正确:(

最佳答案

要传递结构,请在调用中命名它:

 some_function(data[0].time);   // By value
other_function(&data[0].time); // By address

这两个函数都会传递 Training 结构数组的 data[0] 元素中包含的 Time 值。

关于将结构体数组转换为结构体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19941297/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com