C语言只运行部分代码,原因未知

问题遇到的现象和发生背景

C语言

问题相关代码,请勿粘贴截图

#include <stdio.h>
#include <string.h>
int isInteger(char* str) {
//判断某个字符串a是否为整数形式 ,是返回1,不是返回0
int len = strlen(str);
int res = strspn(str, "0123456789");
if (res >= len) {
return 1;
}
else {
return 0;
}
}
int strToInt(char* a) {
//字符串转数字,如果a不是整数类型返回-1
if (isInteger(a)) {
return atoi(a);
}
else {
return -1;
}
}
int main() {
char name[5];
char number[5];
char an1[5];
char an2[5];
int i = 0, j, k;
for (i = 0; i++; i < 5) {
printf("请输入学生的姓名,学号,以及成绩:");
scanf_s(&name[i]);
scanf_s(&number[i]);
scanf_s(&an1[i]);
scanf_s(&an2[i]);
}
printf("姓名 学号 成绩1 成绩2 平均成绩\t");
for (i = 0; i++; i < 5) {
j = strToInt(an1[i]);
k = strToInt(an2[i]);
printf("%s %d\t\n", name[i], number[i], an1[i], an2[i], (j+k)/2);
}
return 0;
}

运行结果及报错内容

只运行部分

我的解答思路和尝试过的方法

暂无

我想要达到的结果

正常输出学生的相关信息

首先你要输入5个学生,但char name[5]只是一个学生的名字,不是5个学生的。应该把四个学生信息定义为结构体

typedef struct _student
{
     char name[20];
     char number[20];
     int score1,score2;
}student;
student stu[5];
for(int i=0;i<5;i++)
{
    scanf_s("%s",stu[i].name,20);
    scanf_s("%s",stu[i].number,20);
    scanf_s("%d",&stu[i].score1);
    scanf_s("%d",&stu[i].score2);
}