非常基本,尝试从带有数字的文本文件中读取并将它们存储在数组中

Very basic, trying to read from a text file with numbers and store them in an array

当我 运行 程序时,当文本文件中的数字为 20 时,我得到的数字完全荒谬,例如 -39389014。这是我的文本文件的样子:

20 20
40 30
80 40
90 20
60 10
18.0

代码:

#include <stdio.h>
#define SIZE 5

int main(void){
    FILE *in = fopen("pfile1.txt", "r");
    int x[5], y[5], i;
    double h;

    for (i=0;i<SIZE;++i){
        fscanf(in, "%d %d", &x[i], &y[i]);
    }

    for (i=0;i<SIZE;++i){
        printf("%4d %10d\n", x[i], y[i]);
    }


    fscanf(in, "%lf", &h);
    printf("%lf\n", h);
    fclose(in);

    return(0);
}

确保您的 "pfile1.txt" 文件位于您的项目设置旁边。 为确定文件的位置,将打开权限更改为 "w+"。此选项将尝试打开该文件或在未找到时创建它。用你的文件替换那个文件。 一切都会顺利进行:)

即时提示: 不要对任何指针进行任何操作,除非你确定它不为 NULL。 所以,用

包围你的代码以避免任何崩溃
if( NULL != in)
{

    for (i=0;i<SIZE;++i){
        fscanf(in, "%d %d", &x[i], &y[i]);
    }

    for (i=0;i<SIZE;++i){
        printf("%4d %10d\n", x[i], y[i]);
    }


    fscanf(in, "%lf", &h);
    printf("%lf\n", h);
    fclose(in);
}