繁体   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