我的程序崩溃,我不明白为什么

cip*_*her -1 c

我正在使用二进制文件处理在C中编写记录保存程序.我正在使用Code :: Blocks,使用gcc在Windows 8上编译我的C程序.

当程序到达以下块时,将显示错误消息:

在此输入图像描述

我的代码:

int dispaly(student record[], int count)
{

/*
This is what structure `student` looks like:

 int id;
    char name[200], phone[20], address[200], cclass[50];
    char sec[20], roll[50], guardian_name[200], relation[200] ;
    char p2_colg[100], slc_school[200];
    float plus2_percent, slc_percent;
    struct date dob;
    struct date enr_date;


    struct date looks like
       int day, month, year;
*/
printf("Reached"); /*Program Runs Fine upto here*/
int i = 0;
for(i=0; i<count; i++)
{
    printf("\nId: %d\tPhone: %s\nName: %s\nAddress: %s"
           "\nClass: %s\tSection: %s\nRoll: %s\nGuardian Name: %s\tRelation:%s"
           "\nPlus-Two in: %s\tPercentage:%f\nSLC School: %s\tPercentage: %f"
           "\nDate Of Birth(mm/dd/yyyy): %d/%d/%d"
           "\nEnrolled in (mm/dd/yyyy): %d/%d/%d\n\n---------------------------------------\n", record[i].id, record[i].name, record[i].address
           , record[i].cclass, record[i].sec, record[i].roll, record[i].guardian_name, record[i].relation, record[i].p2_colg
           , record[i].plus2_percent, record[i].slc_school, record[i].slc_percent, record[i].dob.month, record[i].dob.day, record[i].dob.year
           , record[i].enr_date.month, record[i].enr_date.day, record[i].enr_date.year);

}
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序编译没有任何错误或警告.

这是怎么回事?

Ben*_*tto 5

很难确切地知道在没有查看数组中的确切数据的情况下崩溃了什么,但是你在printf的参数列表中忘记了"phone",这肯定会导致printf内部崩溃.