帮我看一下这个代码哪里写错了 为什么总是要终止运行?

程序其他部分都验证过了没有错谢谢voidarrsort(char*a,intn){inti,j,p;chart;for(j=0;j<n-1;j++)//共比较n-1次{p... 程序其他部分都验证过了 没有错 谢谢
void arrsort(char *a,int n)
{
int i,j,p;
char t;
for(j=0;j<n-1;j++)//共比较n-1次
{
p=j;
for(i=j+i;i<n;i++)
if(a[p]<a[i])
p=i;
if(p!=j)
{
t=a[p];
a[p]=a[j];
a[j]=t;
}
}

}
展开
 我来答
陈余幸运
2020-03-18 · 生活的本意是平淡且知足
陈余幸运
采纳数:294 获赞数:6686

向TA提问 私信TA
展开全部
应该是下面这个for循环没有加{},只运行for到后面的第一个";"
for( i= j+ i; i< n; i++)
if( a[ p]< a[ i])
p= i;
if( p!= j)
{
t= a[ p];
a[ p]= a[ j];
a[ j]= t;
}
汉坤(北京)流体控制技术有限公司
2023-06-12 广告
根据大数据评选,2022年电动执行器十大品牌名单有:1. 秀辉。2. 丹冠。3. 方威。4. 天津宝恒。5. 常辅股份。6. 新峰。7. 德博科技。8. 摩控。9. 科威纳。10. deyo。以上十大品牌是电动执行器行业的知名品牌,排名不分... 点击进入详情页
本回答由汉坤(北京)流体控制技术有限公司提供
雾尽酣来
2020-03-16 · TA获得超过428个赞
知道小有建树答主
回答量:263
采纳率:76%
帮助的人:62.1万
展开全部
错在第二个for语句中的i=j+i,应该是+1,+i可能会导致a[i]数组越界崩溃。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式