簡體   English   中英

從文件讀取數據時,為什么我的函數沒有存儲我想要的值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM