C语言如何scanf一个二维数组【9】【9】

就在写代码的时候,如果想要scanf一个文件夹里存储的【9】【9】的二维数组,我就能知道用putchar把它打印出来但是想要用loop去改写文件具体一步能给点建议吗


#pragma warning(disable:4996) //开头加这句或项目、属性、配置属性、C/C++、预处理器、预处理器定义中添加“_CRT_SECURE_NO_WARNINGS”
#include <stdio.h>
int main() {
    char filename[256];
    int a[9][9];
    int y,x;
    FILE *f;

    for (y=0;y<9;y++) {
        for (x=0;x<9;x++) {
            a[y][x]=y*9+x+1;
        }
    }

    for (y=0;y<9;y++) {
        for (x=0;x<9;x++) {
            printf("a[%d][%d]:%2d  ",y,x,a[y][x]);
        }
        printf("\n");
    }

    for (y=0;y<9;y++) {
        sprintf(filename,"D:\\mydir\\data%d.txt",y+1);//假定9x9的二维整数数组每行分D:\mydir\data1~9.txt九个文件保存,每个文件中包含空格间隔的九个整数
        f=fopen(filename,"r");
        if (NULL==f) {
            printf("Can not open file %s\n",filename);
            continue;
        }
        for (x=0;x<9;x++) {
            if (1!=fscanf(f,"%d",&a[y][x])) {
                printf("Can not read number %d from file %s\n",x+1,filename);
            }
        }
        fclose(f);
    }

    for (y=0;y<9;y++) {
        for (x=0;x<9;x++) {
            printf("a[%d][%d]:%2d  ",y,x,a[y][x]);
        }
        printf("\n");
    }

    return 0;
}
//a[0][0]: 1  a[0][1]: 2  a[0][2]: 3  a[0][3]: 4  a[0][4]: 5  a[0][5]: 6  a[0][6]: 7  a[0][7]: 8  a[0][8]: 9
//a[1][0]:10  a[1][1]:11  a[1][2]:12  a[1][3]:13  a[1][4]:14  a[1][5]:15  a[1][6]:16  a[1][7]:17  a[1][8]:18
//a[2][0]:19  a[2][1]:20  a[2][2]:21  a[2][3]:22  a[2][4]:23  a[2][5]:24  a[2][6]:25  a[2][7]:26  a[2][8]:27
//a[3][0]:28  a[3][1]:29  a[3][2]:30  a[3][3]:31  a[3][4]:32  a[3][5]:33  a[3][6]:34  a[3][7]:35  a[3][8]:36
//a[4][0]:37  a[4][1]:38  a[4][2]:39  a[4][3]:40  a[4][4]:41  a[4][5]:42  a[4][6]:43  a[4][7]:44  a[4][8]:45
//a[5][0]:46  a[5][1]:47  a[5][2]:48  a[5][3]:49  a[5][4]:50  a[5][5]:51  a[5][6]:52  a[5][7]:53  a[5][8]:54
//a[6][0]:55  a[6][1]:56  a[6][2]:57  a[6][3]:58  a[6][4]:59  a[6][5]:60  a[6][6]:61  a[6][7]:62  a[6][8]:63
//a[7][0]:64  a[7][1]:65  a[7][2]:66  a[7][3]:67  a[7][4]:68  a[7][5]:69  a[7][6]:70  a[7][7]:71  a[7][8]:72
//a[8][0]:73  a[8][1]:74  a[8][2]:75  a[8][3]:76  a[8][4]:77  a[8][5]:78  a[8][6]:79  a[8][7]:80  a[8][8]:81
//Can not open file D:\mydir\data1.txt
//Can not open file D:\mydir\data2.txt
//Can not open file D:\mydir\data3.txt
//Can not open file D:\mydir\data4.txt
//Can not open file D:\mydir\data5.txt
//Can not open file D:\mydir\data6.txt
//Can not open file D:\mydir\data7.txt
//Can not open file D:\mydir\data8.txt
//Can not open file D:\mydir\data9.txt
//a[0][0]: 1  a[0][1]: 2  a[0][2]: 3  a[0][3]: 4  a[0][4]: 5  a[0][5]: 6  a[0][6]: 7  a[0][7]: 8  a[0][8]: 9
//a[1][0]:10  a[1][1]:11  a[1][2]:12  a[1][3]:13  a[1][4]:14  a[1][5]:15  a[1][6]:16  a[1][7]:17  a[1][8]:18
//a[2][0]:19  a[2][1]:20  a[2][2]:21  a[2][3]:22  a[2][4]:23  a[2][5]:24  a[2][6]:25  a[2][7]:26  a[2][8]:27
//a[3][0]:28  a[3][1]:29  a[3][2]:30  a[3][3]:31  a[3][4]:32  a[3][5]:33  a[3][6]:34  a[3][7]:35  a[3][8]:36
//a[4][0]:37  a[4][1]:38  a[4][2]:39  a[4][3]:40  a[4][4]:41  a[4][5]:42  a[4][6]:43  a[4][7]:44  a[4][8]:45
//a[5][0]:46  a[5][1]:47  a[5][2]:48  a[5][3]:49  a[5][4]:50  a[5][5]:51  a[5][6]:52  a[5][7]:53  a[5][8]:54
//a[6][0]:55  a[6][1]:56  a[6][2]:57  a[6][3]:58  a[6][4]:59  a[6][5]:60  a[6][6]:61  a[6][7]:62  a[6][8]:63
//a[7][0]:64  a[7][1]:65  a[7][2]:66  a[7][3]:67  a[7][4]:68  a[7][5]:69  a[7][6]:70  a[7][7]:71  a[7][8]:72
//a[8][0]:73  a[8][1]:74  a[8][2]:75  a[8][3]:76  a[8][4]:77  a[8][5]:78  a[8][6]:79  a[8][7]:80  a[8][8]:81
//

for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
//
}
}