void lookxinxi()
{
system(“CLS”);
int i;
printf(“\t学号\t姓名\t性别\t出生年月\t专业\t课程名称\t学分\t成绩\n”);
for(i=0;i<n;i++) /*输出全部的学生信息*/
{
printf(“%10s\t%s\t%2s\t%s\t%s\t%s\t%d\t\t%6.1f\n”,stu[i].num,stu[i].name,
stu[i].sex,stu[i].age,stu[i].zhuanye,stu[i].course,stu[i].xuefen,stu[i].score);
}
printf(“\n\n\n\t\t\t按任意键返回菜单”);
getch();
}
{
system(“CLS”);
int i;
printf(“\t学号\t姓名\t性别\t出生年月\t专业\t课程名称\t学分\t成绩\n”);
for(i=0;i<n;i++) /*输出全部的学生信息*/
{
printf(“%10s\t%s\t%2s\t%s\t%s\t%s\t%d\t\t%6.1f\n”,stu[i].num,stu[i].name,
stu[i].sex,stu[i].age,stu[i].zhuanye,stu[i].course,stu[i].xuefen,stu[i].score);
}
printf(“\n\n\n\t\t\t按任意键返回菜单”);
getch();
}
解决方案
5
出错时点中断,通过调用堆栈、变量窗口等观察分析原因
30
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
代码功能归根结底不是别人帮本人看或讲解或注释出来的;而是被本人静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生本人领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
代码功能归根结底不是别人帮本人看或讲解或注释出来的;而是被本人静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生本人领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
5
就像楼上三位说的,题主单步调试,单步跟一下,就可以发现出现debug error在哪一行。 单单贴出来这一个函数的代码,不好看出来。有可能是第二个printf中的
5
有可能是第二个printf中的结构体数组定义,使用的问题。
还有题主这段代码中for循环中的n没有定义。
还有题主这段代码中for循环中的n没有定义。