簡體   English   中英

C-輸入數組的麻煩輸入

[英]C - Trouble inputting doubles to array

我非常了解C ++,並被告知將我用C ++編寫的程序轉換為C,以用於其他環境。 我以前從未用純C語言編寫過代碼,現在遇到了一些麻煩。 下面的函數應該讀取一個.txt文件並將其中的值輸入到double數組中,但是,每當我打印該數組時,所有值都是: -92559631349317831000000000000000000000000000000000000000000000000000.00000 但是,如果我在打印之前手動更改代碼中的值,則會得到正確的值。 這是輸入函數:

void FileRead(double *AttPos)
{
    int j = 0;
    FILE *in_file;
    in_file = fopen("DragonData.txt", "r");

    if (in_file == NULL)
    {
        exit(1);
    }
    else
    {
        for(j; j<8; j++)
        {
            fscanf(in_file, "%lf", &AttPos[i]);
        }
        fclose(in_file);
    }
}

這是輸入文件:

12345
0.13717085
0.91813290
0.73543816
-0.67362091
111
-63
11000

我認為這是由於您的代碼中的錯誤所致。

for(j; j<8; j++)
{
    fscanf(in_file, "%lf", &AttPos[i]);
}

該數組索引應該是j而不是i,您的值實際上並未放入數組中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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