C 为什么数组下标高于数组界限[-Warry界限]?我该怎么办?

C 为什么数组下标高于数组界限[-Warry界限]?我该怎么办?,c,arrays,console,C,Arrays,Console,这是我的密码: #include <stdio.h> int main() { char name[100],stdid[100],adv[100],subject[6][100],code[6][30]; int sem,in,total,a; int credit[6]; printf ("SUBJECT REGISTRATION FORM \n \n"); printf ("1) STUDENT NAME: "); fflu

这是我的密码:

#include <stdio.h>

int main()
{
    char name[100],stdid[100],adv[100],subject[6][100],code[6][30];
    int sem,in,total,a;
    int credit[6];

    printf ("SUBJECT REGISTRATION FORM \n \n");

    printf ("1) STUDENT NAME: ");
    fflush (stdin);
    gets (name);

    printf ("2) STUDENT ID: ");
    scanf ("%s",&stdid);

    printf ("3) SEMESTER: ");
    scanf ("%d",&sem);

    printf ("4) ACADEMIC ADVISOR: ");
    fflush (stdin);
    gets (adv);


    for (in=0; in<6 ;in++)
    {
        printf ("SUBJECT CODE %d: ",in + 1);
        fflush (stdin);
        gets (code[in]);

        printf ("SUBJECT NAME %d: ",in + 1);
        fflush (stdin);
        gets (subject[in]);

        printf ("SUBJECT CREDIT %d: ",in + 1);
        fflush (stdin);
        scanf ("%d",&credit[in]);

        total=total+credit[in];
    }

    printf ("                       Universiti of Gambang \n");
    printf ("                     Subjects Registration Form \n");
    printf     ("======================================================================= \n");

    printf ("Name: %s \n",name);
    printf ("Student ID: %s \n",stdid);
    printf ("Total Subjects: %d \n",in);

    printf ("---------------------------------------------------------------    --------- \n");

    printf ("Subject Name                Subject code                              Credit \n");

    for (a=0;a<in;a++);

    {
        printf (" %d %s                           %s                                     %d        \n",a ,subject[a] ,code[a] ,credit[a]);
    }

    printf ("Total Credit:                                                              %d        \n",total);

    printf ("Academic Advisor: %s \n",adv);

    return 0;
}
#包括
int main()
{
字符名称[100],stdid[100],adv[100],主题[6][100],代码[6][30];
int-sem,in,total,a;
国际信贷[6];
printf(“受试者登记表”);
printf(“1)学生姓名:”;
fflush(stdin);
获取(名称);
printf(“2)学生ID:”;
scanf(“%s”和&stdid);
printf(“3)学期:”;
扫描电镜(“%d”和扫描电镜);
printf(“4)学术顾问:”;
fflush(stdin);
获取(adv);

for(in=0;inwird行为通常来自错误的内存操作导致的未定义行为。如果您遇到访问冲突(分段错误),请尝试或之类的工具来确定问题的根源。
for(a=0;athank you@CoolGuy。好的。我会记住这一点。:D