LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 749|回复: 2

C编译中出现段错误

[复制链接]
发表于 2007-1-16 21:47:43 | 显示全部楼层 |阅读模式
main()
{
int i,j,a[10],n,k;
a[0]=8;
a[1]=2;
a[2]=5;
a[3]=0;
a[4]=3;
a[5]=9;
a[6]=6;
a[7]=7;
a[8]=1;
a[9]=4;
//for(i=0;i<10;i++)scanf("%d",&a);
for(i=0;i<10;i++)printf("%d,",a);
for(i=0;i<10;i++)
for(j=9;j<=i;j--)
        {k=j;
        if(a[j]>a[j-1])k=j-1;
        n=a;
        a=a[k];
        a[k]=n;
        }
for(i=0;i<10;i++)printf("%d,",a);
}
我不知道错哪里了,编译没出错,运行是出错,只出现 段错误三个字
请大家帮帮我
发表于 2007-1-16 22:34:49 | 显示全部楼层
if(a[j]>a[j-1])k=j-1;
你的程序会访问a[-1]造成段错误
另外,这也不能叫做编译中出现段错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-19 17:48:06 | 显示全部楼层
谢谢你,我知道哪错了,是访问非法内存地址出现的!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表