VS2013 报错0x50D3134E (msvcr120d.dll) (ConsoleApplication16.exe 中)处有未经处理的异常: 0xC0

Stone克鲁斯 2017-09-22 03:48:29


我的代码
#include<stdio.h>
struct student
{
int num[5];
char name[10];
int score;
}stu[5];
int main()
{
int i, j, k, l;
//printf("input the number of the student\n");
//scanf_s("%d\n",&n);
printf("input the students's num,name,score\n");
for (l = 0; l < 5; l++)
{
printf("input the students's num:");
scanf_s("%5d", stu[l].num);
printf("input the students's name:");
scanf_s("%s", stu[l].name);
printf("input the students's score:");
scanf_s("%5d", stu[l].score);
printf("\n");
}
struct student temp;
for (i = 0; i <= 5; i++)
{
k = i;
for (j = 0; j <= 5; j++)
if (stu[j].score>stu[k].score)
k = j;
temp = stu[k]; stu[k] = stu[j]; stu[j] = temp;
}
for (i = 0; i < 5; i++)
printf("%6d,%10s,%5f\n", stu[i].num, stu[i].name, stu[i].score);
printf("\n");
return 0;
}
...全文
529 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2017-09-26
  • 打赏
  • 举报
回复
引用 4 楼 GGlance 的回复:
谢谢大神,你的方法是对的,用了你的方法就能输入,但是只输入一次,就卡了。有什么这方面的课程或者书籍推荐么?还是用不习惯VS2013@cfjtaishan
如果想继续学习C语言,可以看一些电子书<<C prime plus>>找一下这本书的最新版本看看,主要是多写,多调试,多思考。然后多做总结。
destory27 2017-09-23
  • 打赏
  • 举报
回复
我一般用 while(scanf("%d", &num) == 0){ //处理 } 进行读取
真相重于对错 2017-09-22
  • 打赏
  • 举报
回复
scanf_s("%5d", &stu[l].score);红字的是一个数值,而不是指针,而scanf_s要求那是一个指针,所以需要加入&
Stone克鲁斯 2017-09-22
  • 打赏
  • 举报
回复
谢谢大神,你的方法是对的,用了你的方法就能输入,但是只输入一次,就卡了。有什么这方面的课程或者书籍推荐么?还是用不习惯VS2013@cfjtaishan
Stone克鲁斯 2017-09-22
  • 打赏
  • 举报
回复
首先谢谢大佬们回答,确实是输入name时出现的问题,但是name是数组名,可以直接用啊,缺少参数是什么意思?不是很理解@cfjtaishan
赵4老师 2017-09-22
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
自信男孩 2017-09-22
  • 打赏
  • 举报
回复
for (i = 0; i <= 5; i++) 
for (j = 0; j <= 5; j++)
数组已经越界了。 去掉=试试。
scanf_s("%s", stu[i].name, 10);
输入name缺少参数;

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧