中易网

C++结果输出完毕到return 0出错,求解

答案:2  悬赏:60  
解决时间 2021-02-20 07:18
原题简单十个整数排序,最后在VC那已经正常输出结果,尝试过在最后一次printf之后随便输出一个东西,正常输出,但是实际运行时就在return 0之前掐死,显示需要调试,求解

#include
int main()
{
int a[10],i=0,num=0,j=0,b[10];
while(i<10)
{
scanf("%d",&a[i]);
b[i]=a[i];
i++;
}
i=0;
while(i<10)
{
while(j<10)
{
if(b[i]>=b[j])
num++;
j++;
}
a[num]=b[i];
j=0;
i++;
num=0;
}
while(i>0)
{
if(i>1)
printf("%d ",a[i]);
else
printf("%d\n",a[i]);
i--;
}
return 0;
}
最佳答案
if(b[i]>=b[j])

    num++;上面这一段里面的num++某些情况下有可能导致num等于10,后面你又把num作为a的索引,a的访问就会越界,还有最后输出时i的循环是从10开始的,也会导致a的访问越界,这两点是出错的原因
至于怎么改,不懂你的意图,没法改
全部回答
while(i>0) { if(i>1) printf("%d ",a[i]); //第一次循环的时候,这个地方是a[10] else printf("%d\n",a[i]); i--; } 这段代码之前 i = 10 , 所以a[10] 数组越界,, 然后报错了。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
电脑是win7系统,昨天插移动硬盘,拔出之后每
C语言 阿拉伯到罗马
用哪些词语来形容民族英雄!
我的小孩现在在郫县团结小学读书明年要转到成
仁记食店怎么去啊,有知道地址的么
纵有灼灼桃花十里,不如情深意切生死相依是什
石屋地址在哪,我要去那里办事
宝蓝和深蓝区别有多大呀
笔记本电脑无线已连接但上不了网,IP是自动获
谁能翻译一下歌名Comtine D un Autre Ete: L
哪里能接阿塔哈克神庙的任务
如何用Word文档插入CAD的后缀为dwg的文件
找一部女主角老公因为出车祸去世了,留下了女
华亭煤业集团物业管理公司城区物业部服务大厅
我今年58岁,两个儿子一个女儿,女婿说我年轻
推荐资讯
二级消防工程师什么时候报名时间
地下城有任务助手后可以做两次悲鸣每日么?
金刚菩提和核雕哪个好
峰华文化办公用品商行地址在哪,我要去那里办
求几部以欧洲中世纪为背景的文艺电影和舞蹈视
批处理中有pause命令,为什么运行后还会直接
蓝月亮美食城在什么地方啊,我要过去处理事情
戴纳派克(中国)压实摊铺设备有限公司我想知道
甲、乙、丙三种物质的溶解度曲线如图所示.据
碳带是什么有什么作用
为什么总是电脑会经常性断网?猫显示正常 但重
白色皮衣脏了怎样才能洗干净 求解 ?????
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?