![](/img/trans.png)
[英]How can I make it so my data doesn't get cut off when reading a file using the read function
[英]Why doesn't my function store the values I want it to when reading data from a file?
我正在編寫一個函數,該函數從包含15個序列的文件中讀取數據。 每個系列以值0.0結尾。 series[].totnr
計數在每個系列的值的數目, series[].outnr
計數即高於或低於220 5%的值的數目,和series[].average
系列中的所有值的平均值存儲。
但是,當我調試該函數時,我看到series[0]
的值為{totnr= -858993360 outnr= -858993459 average= -107374176.}
series[1]
等具有相似的值。 我真的需要幫助,因為我看不到為什么發生。
在文本文件的內容中,此函數從以下位置讀取: https : //justpaste.it/16orx
int read_data(FILE *tsin, struct seriespost series[])
{
int i = 0;
float total = 0, number = 0;
i = 0;
while (fscanf(tsin, "%f", &number) != EOF)
{
total = 0;
do {
fscanf(tsin, "%f", &number);
total = total + number;
series[i].totnr = series[i].totnr + 1;
if (number > 231 || number < 209)
{
series[i].outnr++;
}
} while (number != 0.0);
i++;
series[i].average = (total) / (series[i].totnr);
}
return i;
}
“但是,當我調試函數時,我看到series [0]的值為{totnr = -858993360 outnr = -858993459 average = -107374176。}”您需要使所有數組都從0開始。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.