2
下面的代碼的目的是從文件中讀取雙精度數據並將它們放入數組中。非常簡單。fscanf讀入雙數組奇怪值
double arr[100];
int i = 0;
while(fscanf(fin, "%lf", &arr[i]) != EOF)
i++;
但是,當我打印數組我得到奇怪的值。如果我用常規雙變量替換數組變量,並在前面提到的while循環內打印此變量的值,它會正確打印。上述代碼有什麼問題?我試着預先初始化數組中的所有值,但當然,這也沒有幫助。
所有你需要添加一個條件首先所以'i'沒有得到高,外覆蓋內存的陣列。其次,你是否在循環內打印了'i'和'arr [i]'? –
你發佈的內容應該可以工作。我認爲你沒有向我們展示真正的代碼,而是一個「簡化」版本。 – cnicutar
他發佈的內容不應該有效;如果文件中有非雙值,則將是無限循環 – user411313