C语言 程序没有报错,运行时显示0xc0000142是怎么回事

C语言 程序没有报错,运行时显示0xc0000142是怎么回事,用的是Dev
题目:
由键盘输入 4 阶的方阵,请输出该方阵各列元素的和,以及两条对角线上各个元素之和

#include<stdio.h>
int main()
{
    float a[4][4],sum,sum1,sum2;
    int i,j;
    
    printf("请依次输入4阶方阵的元素:"); 
    for(i=0;i < 4;i++)
    {
        for(j=0;j < 4;j++)
          scanf("%lf",&a[i][j]);
    } 
    
    i=0;j=0;
    printf("各行元素的和依次为:"); 
    for(;i < 4;i++)
    {
        for(;j <=4 ;j++)
        {
          if(j =4 )
            {
                j=0;    
            }
          sum += a[i][j];
        }
        printf("%lf",sum);   
    } 
    
    j=0;
    for(;i = 0 ;i--)
    {
        for(;j <4 ;j++)
        {
            sum1 += a[i][j];
        }
        printf("主对角线上的元素之和为%lf",sum1);
    } 
    i=0;
    for(;i < 4 ;i++)
    {
        for(;j <4 ;j++)
        {
            sum2 += a[i][j];
        }
        printf("副对角线上的元素之和为%lf",sum2);
    } 
    
    return 0;
} 

img

为啥第二段循环又写j<=4呢?这会越界访问的