GZZZZZZH 2021-02-07 19:13 采纳率: 50%
浏览 197

运行错误 c语言算法题

#include<stdio.h>
void input(int arr[10]);
void sort(int arr[10]);
void output(int arr[10]);


int main()
{
    //输入函数
    int a[10];
    printf("请输入数组");
    input(a);
    
//排序
    sort(a);
    
//    输出函数
    output(a);
    
    return 0;
}


void input (int arr[10])
{
    int i;
    for(i = 1; i <= 10; i++){
        scanf("%d" ,&arr[i]);
    }
    return 0;    
}


void output (int arr[10])
{
    int i;
    for(i = 1; i <= 10; i++){
        printf("%d " ,arr[i]);
    }
    return 0;    
}


void sort (int arr[10])
{
    int i, j, temp;
    for (j = 0; j < 10 - 1; j++)
    {
        for (i = 0; i < 10  - j; i++)
        if (arr[i] > arr[i + 1])
        {
            temp = arr[i];
            arr[i] = arr[i + 1];
            arr[i + 1] = temp;
        }
    }

    return 0;
}

 

上方代码在提交题目的时候出现了以下的问题,请问大大大佬们能给个解释嘛

运行错误:运行时错误,非法的内存访问,数组越界,指针漂移,调用禁用的系统函数。
A Not allowed system call: runid:3435981 CALLID:14 :使用了系统禁止的操作系统调用,看看是否越权访问了文件或进程等资源。

  • 写回答

3条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-02-08 07:07
    关注

    >    for(i = 1; i <= 10; i++){
    >         scanf("%d" ,&arr[i]);

     

    C 语言的数组从 0 开始, 你的循环从 1 开始了, arr[10]  就会导致数组越界。 

    看看: (10条消息) C语言入门:数组_Dorby .的博客-CSDN博客

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器