gpt4 book ai didi

我不能在数组中使用 double 吗?

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

这里有什么问题?它显示了一个错误,帮助我,我是初学者。我可以在数组中使用 double 吗?

    #include <stdio.h>
int main()
{
double a;
scanf("%lf",&a);
double s[a];
double b,c=0, d;
for(b=0;b<a;b++){
scanf("%lf",&s[b]);
}
for(b=0;b<a;b++){
c = c + s[b];
d=b+1;
printf("%lf\n",c/d);
}
return 0;
}

最佳答案

如果不清楚,您的数组不能是双倍长度。这是未定义的行为。

这是因为 double 不是整数,而是可能整数的有理数。理解这个问题的一个简单方法是取一些浮点值,比如 3.5。

什么是长度为 3.5 的数组 是不是连续内存中有 3 个半的一些大小的槽位? 3 个插槽是否足够? 4? 3.5 槽可能是无用的和意外的,如果它不是小数槽,它可能不清楚并且可能是意外的,因此是未定义的行为。

虽然其他人提出了创建整数类型的解决方案,但您不能创建双倍长度的数组。您可以创建一个 double 组,即

double arr[5];

但是你不能像这样创建双倍长度的数组

int arr[3.3];

关于我不能在数组中使用 double 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54426920/

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