gpt4 book ai didi

c - 为什么这个值在变化?

转载 作者:太空宇宙 更新时间:2023-11-04 05:58:10 25 4
gpt4 key购买 nike

我刚开始学习C语言。所以我正在做一些练习,但我遇到了这个问题。

代码:

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

main()
{
double l[2];
double s, v, d;
int i;
for (i = 0; i < 3 && l[i] >= 0; i++)
{
scanf("%lf", &l[i]);
if ( l[i] < 0)
{
printf("Please type a positive value\n");
l[i+1]=-1;
}
}
if (l[0] >= 0 && l[1] >= 0 && l[2] >= 0)
{
s = 2 * ((l[0] * l[1]) + (l[0] * l[2]) + (l[1] * l[2]));
v = l[0] * l[1] * l[2];
d = sqrt(pow(l[0],2)+pow(l[1],2)+pow(l[2],2));
printf("%.2f\n%.2f\n%.2f\n", s, v, d);
}
}

输出为“s”提供了正确的值,但在存储“s”后它更改了 l[2] 值,因此它为我提供了错误的“v”和“d”值。我不明白为什么 l[2] 会发生变化,有人可以帮忙吗?

最佳答案

定义

double l[2];

定义一个数组,其中包含 2 个 double 类型的值。

可以使用 l[0]l[1] 访问数组元素。访问 l[2](正如您所做的那样)是一个错误。

关于c - 为什么这个值在变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23228139/

25 4 0
文章推荐: html - 拉伸(stretch) Iframe 视频超过最大屏幕宽度,无法找到 overflow hidden 的方法
文章推荐: python - django 剥离/删除/清除值
文章推荐: linux - 监视/var/log/messages 文件中的特定关键字
文章推荐: html -
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com