N维世界 2023-12-02 20:49 采纳率: 83.3%
浏览 1
已结题

跟我想要的结果不一样是咋回事

#include <stdio.h>
void main()
{
    int i,j;
    int a[3][3];
    for(i=0;i<=3;i++){
        for(j=0;j<=3;j++){
        if(i==j){
        a[i][j]=1;
        //printf("j=%d\n",j);
    }
        else if(i==j-1){
        a[i][j]=2;
        //printf("j=%d\n",j);
    }
        else if(i==j-2){
        a[i][j]=3;
        //printf("j=%d\n",j);
    }
        else if(i==j-3){
        a[i][j]=4;
        //printf("j=%d\n",j);
    }
        else{
        a[i][j]=5; 
        //printf("j=%d\n",j);
    }
    //    printf("a[%d][%d]=%d\n",i,j,a[i][j]);
    }
    }
    for(i=0;i<=3;i++){
    for(j=0;j<=3;j++)
    printf("%d\t",a[i][j]);
    printf("\n");
}
}

dev结果是
1 2 3 5
5 1 2 5
5 5 1 5
5 1 3 10359696
我想要的是
1 2 3 4
5 1 2 3
5 5 1 2
5 5 5 1

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-02 22:38
    关注

    【以下回答由 GPT 生成】

    #include <stdio.h>
    void main()
    {
        int i,j;
        int a[4][4]; // 修改数组大小为4x4
        for(i=0;i<4;i++){ // 修改循环条件为i<4
            for(j=0;j<4;j++){ // 修改循环条件为j<4
                if(i==j){
                    a[i][j]=1;
                }
                else if(i==j-1){
                    a[i][j]=2;
                }
                else if(i==j-2){
                    a[i][j]=3;
                }
                else if(i==j-3){
                    a[i][j]=4;
                }
                else{
                    a[i][j]=5; 
                }
            }
        }
        for(i=0;i<4;i++){ // 修改循环条件为i<4
            for(j=0;j<4;j++){ // 修改循环条件为j<4
                printf("%d\t",a[i][j]);
            }
            printf("\n");
        }
    }
    

    根本问题是数组a的大小是3x3,但是代码中的循环条件i<=3和j<=3会导致数组越界访问,需要将数组大小修改为4x4,同时修改循环条件为i<4和j<4。这样才能得到期望的结果。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月18日
  • 已采纳回答 12月10日
  • 创建了问题 12月2日

悬赏问题

  • ¥30 计算机硬件实验报告寻代
  • ¥15 51单片机写代码,要求是图片上的要求,请大家积极参与,设计一个时钟,时间从12:00开始计时,液晶屏第一行显示time,第二行显示时间
  • ¥15 用C语言判断命题逻辑关系
  • ¥15 原子操作+O3编译,程序挂住
  • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
  • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
  • ¥15 AD9910输出波形向上偏移,波谷不为0V
  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
  • ¥15 抖音直播广场scheme