加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

数组在C中给出不同的输出?

发布时间:2020-12-16 10:03:24 所属栏目:百科 来源:网络整理
导读:嘿家伙所以每次我执行我的程序,找到十元素数组中的平均值.我的结果略有不同.知道为什么吗? 这是我的代码: #include "stdio.h"int main(){float array[10];for (int n=0; n10;n++){ array[n] = n * 4.76; printf("array[%i] = %.4fn",n,array[n] );}float
嘿家伙所以每次我执行我的程序,找到十元素数组中的平均值.我的结果略有不同.知道为什么吗?

这是我的代码:

#include "stdio.h"

int main()
{
float array[10];

for (int n=0; n<10;n++)
{
    array[n] = n * 4.76;
    printf("array[%i] = %.4fn",n,array[n] );
}

float total;
for (int n=0; n<10; n++)
{
    total = total + array[n];
}

printf("Average: %.4fn",total/10 );
return 0;
}

一些样本结果是:

array[0] = 0.0000
array[1] = 4.7600
array[2] = 9.5200
array[3] = 14.2800
array[4] = 19.0400
array[5] = 23.8000
array[6] = 28.5600
array[7] = 33.3200
array[8] = 38.0800
array[9] = 42.8400
Average: 21.2598

array[0] = 0.0000
array[1] = 4.7600
array[2] = 9.5200
array[3] = 14.2800
array[4] = 19.0400
array[5] = 23.8000
array[6] = 28.5600
array[7] = 33.3200
array[8] = 38.0800
array[9] = 42.8400
Average: 21.2826

解决方法

在C中声明变量时,请确保它们已初始化为默认值.在堆栈上分配的变量通常不会初始化为其默认值,而是使用垃圾初始化.

因此,在开始求和之前,将变量初始化为

float total = 0.0f;

你应该每次都得到相同的答案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读