qq_45966729 2019-12-14 11:29 采纳率: 33.3%
浏览 528

超出定义的数组大小不会溢出吗

这是个求中位数的题目 (6-11 求自定类型元素序列的中位数 )

萌新想问一下既然这个定义的数组是A[10]为什么超过10个的数据也可以处理呢,我用visual C++ 的时候得出结果同时报错了,但是PTA还是算它通过了(只是超时了)

图片说明

#include <stdio.h>

#define MAXN 10
typedef float ElementType;

ElementType Median( ElementType A[], int N );

int main ()
{
    ElementType A[MAXN];
    int N, i;

    scanf("%d", &N);
    for ( i=0; i<N; i++ )
        scanf("%f", &A[i]);
    printf("%.2f\n", Median(A, N));

    return 0;
}

ElementType Median( ElementType A[], int N )
{int i,j,k;
float t;
    for(i=0;i<N;i++)
    {for(j=1;j<N-i;j++){
        if(A[i]>A[i+j]){
            t=A[i];
            A[i]=A[i+j];
            A[i+j]=t;
        }
    }}
    k=N/2;

    return A[k];
}
  • 写回答

3条回答 默认 最新

  • 万能菜道人 2019-12-14 11:41
    关注

    超出大小肯定是溢出的。个人理解是安全机制的不同。

    评论

报告相同问题?

悬赏问题

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