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