为了账号安全,请及时绑定邮箱和手机立即绑定

你好,求问acm一直runtime error要怎解决?有什么办法?

你好,求问acm一直runtime error要怎解决?有什么办法?

开心每一天1111 2021-12-01 11:07:57
#include<stdio.h>#include<string.h>main(){while(1){char a[1000]={0};gets(a);int b=strlen(a);int t[b];for (int i=0;i<b;i++){t[i]=a[i];}int i,j,temp;for(i=0;i<b-1;i++)for(j=i+1;j<b;j++)if(t[i]>t[j]) {temp=t[i];t[i]=t[j];t[j]=temp;}for(i=b-1;i>=0;i--){printf("%c",t[i]);}printf("\n");}}
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

runtime error可能是由于除于0、内存访问违规等问题造成的。
你的问题出在数组开得太小了,题目的数据范围是n<=10000,而你的a数组只开到1000,是不够的,造成数组越界,内存访问违规。。把数组a开到10001,并放在main()函数外就可以了。

查看完整回答
反对 回复 2021-12-06
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

把a数组开到10001 写在函数外面

查看完整回答
反对 回复 2021-12-06
  • 2 回答
  • 0 关注
  • 482 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信