drawingourmoments 2021-11-08 23:44 采纳率: 100%
浏览 25
已结题

C语言初学者遇上灵异事件 同一个代码在Dev c++和codeblock运行的结果不一样!


#include <stdio.h>
int main()
{
    int a[20],i,t1,t2,k[20],n;
    for(i=1;i<=20;i++)
    {
        scanf("%d",&n);
        a[i]=n;
        k[i]=i;
    }
    for(int q=1;q<=19;q++)
    {
        for(int j=q+1;j<=20;j++)
        {
            if(a[q]>a[j])
            {
                t1=a[q];
                a[q]=a[j];
                a[j]=t1;
                t2=k[q];
                k[q]=k[j];
                k[j]=t2;
            }
        }
    }
    for(int p=1;p<=20;p++)
    {
        printf("%d-[%d] ",a[p],k[p]);
    }
    return 0;
}

输入 9 8 7 6 5 4 3 2 1 0 85 74 125 963 258 741 456 789 321 2222
Dev c++的结果和我预计的一样
0-[10] 1-[9] 2-[8] 3-[7] 4-[6] 5-[5] 6-[4] 7-[3] 8-[2] 9-[1] 74-[12] 85-[11] 125-[13] 258-[15] 321-[19] 456-[17] 741-[16] 789-[18] 963-[14] 2222-[20]
而codeblock却是这样
0-[10] 1-[9] 2-[8] 3-[7] 4-[6] 4-[20] 3-[5] 2-[4] 1-[3] 2-[2] 11-[1] 12-[12] 11-[11] 14-[13] 17-[15] 16-[19] 18-[17] 14-[16] 18-[18] 14-[14]

为什么呀很奇怪 希望各位xd帮忙看看!感谢!

  • 写回答

1条回答 默认 最新

  • aabyte 2021-11-08 23:48
    关注

    把数组a和k的长度改成21,不然第9行和第10行还有后面的若干个地方已经数组越界了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月16日
  • 已采纳回答 11月8日
  • 创建了问题 11月8日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘