dadsamtiger 2021-11-03 10:56 采纳率: 100%
浏览 40
已结题

dev c++ 5.10运行三重循环就跑死,降为二重循环就OK,请问是我的程序问题还是版本问题?

环境:Windows7,dev c++ 5.10
在编辑《明解c语言.入门篇》练习题6-13 “改写代码清单6-16 ,将两次考试的分数存储在三位数组中”,为了将两个二维数组存储到三维数组中,我自定义函数中使用了三重循环,编译能过,但一运行就程序就跑死。降为二重循环后,就没问题。以下是我的两个程序清单:

程序一(采用了三重循环,跑死):

//practice 6-13改写代码清单6-16 ,将两次考试的分数存储在三位数组中。
#include<stdio.h>

void thr_dim(int a[4][3],int b[4][3],int c[2][4][3])
{
    int i,j,k;
    
    for (i=0;i<2;i++)            //三重循环会跑死,只好取消第三重循环 for (i=0;i<2;i++),将a[i][j][k]与a[i][j][k]分开写,就没问题 
    {
        for (j=0;j<4;j++)
        {
            for (k=0;k<3;k++)                    
            c[i][j][k]=(i=0)?a[j][k]:b[j][k];
        }
    }

    printf("三维数组中存储的元素显示如下:\n") ;
    for (i=0;i<2;i++)
    {
        for (j=0;j<4;j++)
        {
            for (k=0;k<3;k++)                    
            printf("c[%d][%d][%d]=%-4d",i,j,k,c[i][j][k]);
            printf("\n");
        }
    }
}


int main(void)
{
    int tensu1[4][3]={{91,63,78},{67,72,46},{89,34,53},{32,54,34}};
    int tensu2[4][3]={{97,67,82},{73,43,46},{97,56,21},{85,46,35}};
    int c[2][4][3];
    
    thr_dim(tensu1,tensu2,c);
    return 0;    
}


程序二(采用二重循环,OK):

//practice 6-13改写代码清单6-16 ,将两次考试的分数存储在三位数组中。
#include<stdio.h>

void thr_dim(int a[4][3],int b[4][3],int c[2][4][3])
{
    int i,j,k;
    for (j=0;j<4;j++)
    {
        for (k=0;k<3;k++)
        c[0][j][k]=a[j][k];
    }

    for (j=0;j<4;j++)
    {
        for (k=0;k<3;k++)
        c[1][j][k]=b[j][k];
    }

    printf("三维数组中存储的元素显示如下:\n") ;
    for (j=0;j<4;j++)
    {
        for (k=0;k<3;k++)
        printf("c[0][%d][%d]=%-4d",j,k,c[0][j][k]);
        printf("\n");
    }
        printf("\n");

    for (j=0;j<4;j++)
    {
        for (k=0;k<3;k++)
        printf("c[1][%d][%d]=%-4d",j,k,c[1][j][k]);
        printf("\n");
    }

}

int main(void)
{
    int tensu1[4][3]={{91,63,78},{67,72,46},{89,34,53},{32,54,34}};
    int tensu2[4][3]={{97,67,82},{73,43,46},{97,56,21},{85,46,35}};
    int c[2][4][3];
    
    thr_dim(tensu1,tensu2,c);
    return 0;    
}


  • 写回答

4条回答 默认 最新

  • sxzwl 2021-11-03 11:03
    关注

    img


    i=0,对就怪了

    img


    好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作