2017-04-06 68 views
0

我想加載一個數組,並打印數組,如果數組中的項(array_num),也是數組中的0的值。我的代碼工作不太好,我想知道爲什麼。任何幫助將不勝感激。輸入文件是:問題從一個文本文件加載到一個數組的值

 -1.000000 
 
     0.250000 
 
    -1.333333 
 
     0.484375 
 
     1.958333 
 
     3.119792 
 
     4.000000 
 
     4.630208 
 
     5.041667 
 
     5.265625 
 
     5.333333 
 
     5.276042 
 
     5.125000 
 
     4.911458 
 
     4.666667 
 
     4.421875 
 
     4.208333 
 
     4.057292 
 
     4.000000 
 
     4.067708 
 
     4.291667 
 
     4.703125 
 
     5.333333 
 
     6.213542 
 
     7.375000 
 
     8.848958 
 
    10.666667

#include <iostream> 
#include <stdio.h> 
#include <math.h> 
#include <ctype.h> 
#include <stdlib.h> 

//start of main code 
int main(void) 
{ 
    //declare variables 
    float x1, h; 
    int i, array_num; 
    float diff_arr[50]; 

    FILE*indiff; 
    indiff = fopen("indiff.txt","r"); 

    if (indiff == NULL) 
     printf("Error Opening File...\n"); 
    else{ 
     fscanf(indiff, "%f", &x1); 
     fscanf(indiff, "%f", &h); 

     //start while loop 
     while ((fscanf(indiff, "%f\n", &diff_arr[i])) == 1) 
     { 
      //fscanf(indiff, "%f\n",&diff_arr[load_array]); 
      array_num++; 
     } 
     /*for (load_array=0;load_array<=50;load_array++) 
     { 
      fscanf(indiff, "%f\n",&diff_arr[load_array]); 
      array_num++; 
     */} 
     printf("%f\n",diff_arr[0]); 
     printf("%i\n",array_num); 



    } 
+0

什麼是輸入文件? –

+7

'我'從未被初始化和推廣。 –

+0

你介意提供一個輸入文件樣本@python_pirate – chbchb55

回答

0

在你的代碼既不i也不array_num永遠不會初始化!

int i, array_num;只是一個聲明!其固定int i=0, array_num=0;

我相信你也想在一些點來推進i,否則將始終爲0大概位置:

while ((fscanf(indiff, "%f\n", &diff_arr[i++])) == 1) 
相關問題