gpt4 book ai didi

c - 在 C 中操作结构体 - 输入变量

转载 作者:行者123 更新时间:2023-11-30 15:35:54 28 4
gpt4 key购买 nike

我正在尝试编写较大代码的一小部分,该代码最终将输入一个结构并使用输入的值进行一些船的体积计算。我正在尝试创建一个结构体,然后在我的函数中(目前我没有函数,我只是从我的主函数中调用它),我想给出结构体值。由于最终的体积计算非常长,我试图避免每次需要使用 L1 值时使用“new_boat.L1”之类的东西。为此,我使用以下代码:

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <math.h>

struct boat {
double L1;
double L2;
double Lhull;
double C;
double delta;
double mass;
};



int main() {
// make two people structures
struct boat new_boat;
double L1, L2, C;

new_boat.L1 = L1;
new_boat.L2 = L2;
new_boat.C = C;

L1 = 17.6;
L2 = 4;
C = sqrt((new_boat.L1*new_boat.L1) + (new_boat.L2*new_boat.L2));


printf("\nL1 = %lf\n L2 = %lf\n, C = %lf\n", L1, L2, C);


return 0;

}

我尝试为 L1、L2 和 C 输入的值未传递到结构中,并且我不确定具体如何执行此操作,因此这些值将被保存并可供稍后使用和调用他们的较短的名字。希望这个解释有意义!任何帮助将非常感激。提前致谢!

最佳答案

您不初始化L1L2C。它们包含垃圾,因此 new_boat 也将包含垃圾。

此版本应该按预期工作:

int main() {
// make two people structures
struct boat new_boat;
double L1, L2, C;

L1 = 17.6;
L2 = 4;
C = sqrt((L1*L1) + (L2*L2));

new_boat.L1 = L1;
new_boat.L2 = L2;
new_boat.C = C;

printf("\nL1 = %lf\n L2 = %lf\n, C = %lf\n", L1, L2, C);

return 0;
}

关于c - 在 C 中操作结构体 - 输入变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22764298/

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