qq_28901839 2015-06-09 16:41 采纳率: 0%
浏览 5086

C语言中读取位置时发生访问冲突该怎么办

#define n 2
int remember[n];
for(i=0;i<n;i++)
remember[i]=i;
remember[n]=\0
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
if(h[remember[i]].score<h[j].score)
k=remember[i];
remember[i]=remember[j];
remember[j]=k;

        }              // 用冒泡排序方法,用辅助数组记住头结点下标
        for(i=0;i<n;i++)
        {
             printf("\n\n*****学校编号:%d\n",h[remember[i]].schoolnum);                                           
           printf("*****学校总分:%d\n" ,h[remember[i]].score);
             printf("*****男团总分:%d\n",h[remember[i]].mscore);
             printf("*****女团总分: %d\n\n\n",h[remember[i]].wscore);
  • 写回答

6条回答 默认 最新

  • 知常曰明 2015-06-09 21:42
    关注
     int remember[n];
    

    下标范围是0..n-1,没有n,你下面有

     remember[n]=\0
    

    显然下标越界了,另,这句里\0是否因为显示问题而缺少引号?否则这样好像语法有问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 github训练的模型参数无法下载
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题