我有一个浮点数组中的数字列表(见下文),我必须得到总和,然后计算平均值。使用此代码例如:
for(i=0; i<M; i++)
sI_Ssum += sI_S[i];
并打印结果:
fprintf(fswaps, "Avg: %.1f", sI_Ssum/M);
我得到了这个奇怪的结果,这显然是错误的,但为什么会发生这种情况呢?
75157066131085846000000000000000.0
所有变量都是浮动的。
数组元素:
224230368
224013664
223660880
226627536
225013760
224190272
223501872
225202688
224685264
225468864
226371200
224903232
226204800
224598128
225268816
225997904
225491536
224665840
226138784
224613424
答案 0 :(得分:3)
我认为您忘记初始化sI_Ssum
。
将sI_Ssum
设为0
-
sI_Ssum = 0;