gpt4 book ai didi

c - fscanf 读入双数组奇怪值

转载 作者:太空宇宙 更新时间:2023-11-03 23:55:51 24 4
gpt4 key购买 nike

以下代码旨在从文件中读取 double 值并将它们放入数组中。很简单。

double arr[100];
int i = 0;

while(fscanf(fin, "%lf", &arr[i]) != EOF)
i++;

然而,当我打印数组时,我得到了奇怪的值。如果我将数组变量替换为常规 double 变量,并在前面提到的 while 循环中打印该变量的值,它会被正确打印。上述代码有什么问题?我尝试预先初始化数组中的所有值,当然,这也无济于事。

最佳答案

您可能需要在数组周围加上括号。例如,在代码中,您有“&arr[i]”。这与 (&arr)[i​​] 相同,表示获取偏移量为 i 的数组指针(指向指针的指针)的地址。这可能会将文字偏移几位,从而使输出看起来很古怪。

添加括号使其成为这样:“&(arr[i])”

double arr[100];
int i = 0;

while(fscanf(fin, "%lf", &(arr[i])) != EOF)
i++;

关于c - fscanf 读入双数组奇怪值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8018675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com