数组在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; 你应该每次都得到相同的答案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |