c语言文件格式化读写问题

img

img

img

img


我这里用结构体数组保存文件中的数据,但是我这个文件只有8行,所以数组的最大下标不应该是7吗,那为什么输出的i是8呢

我修改了下程序把i套在while里并输出i和数组里的值结果i是9不是8且出现了很多烫最后还输出了文件的地址这是为啥

img

img

八行所以i++运行了八次,所以i的值才会是8吧