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

求求前辈,软件工程大一新生C语言问题:排序

求求前辈,软件工程大一新生C语言问题:排序

C
溯源1 2016-11-03 22:02:02
//可以运行,但是不知道为什么tempfele。exe已停止工作#include "stdio.h"void main(){    int a[4],t,i,s,d,j;    for(i=0;i<5;i++)    {    scanf("%d",&a[i]);     }    for(s=0;s<4;s++)    {    for(j=0;j<4-s;j++)//j<9-i    {    if(a[j]>a[j+1])    {    t=a[j];a[j]=a[j+1];a[j+1]=t;                                                   }    }                                                                                                                                                                                                                                 }    for(d=0;d<5;d++)    {    printf("%d  ",a[d]);    }}
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

数组a只能存4个元素,但你第一个for循环中i从0到4却循环了5次! 也就是第5次循环时scanf的写入越界了,这就有可能引起运行时错误。 而且似乎你把数组a就当成有5个元素了...


另外,main函数的返回类型为int,不要写成void! 而且函数不需要参数时要在参数列表中写上void,不要留空!

查看完整回答
反对 回复 2016-11-03
  • onemoo
    onemoo
    C标准规定main函数的返回类型为int。 课本说是void那就是它写错了!你的课本不会是谭浩强的书吧...
  • 1 回答
  • 0 关注
  • 1030 浏览

添加回答

举报

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