C语言结构体的值莫名其妙变了

如图,从代码第一排到最后一排,failstu[2]莫名其妙变了,是什么原因啊?

img

img

代码呢
值变了,基本就那么几种可能:
1.代码里有修改值的代码
2.生命周期已到,内存被回收了,所以某些地址被重新分配改写了,但其他值未被改写,此时指针是野指针,值已经不可信
3.有指针越界,导致修改了其他内存