请帮看下以下代码为什么没有后面三个格式化输出?
#include <stdio.h>
main()
{
int str[20], i,j,k,row_sums=0,column_sums=0,diagonal_sums;
printf("Enter the numbers from 1 to 16 in any order:\n");
for (i = 0; str[i] != '\0'; i++)
{
scanf_s("%4d", &str[i]);
printf("%4d", str[i]);
if (i % 4 ==3)
printf("\n");
}
for (j = 0; j <= 13; j=j+4)
{
row_sums =row_sums + str[j] + str[j + 1] + str[j + 2] + str[j + 3];
}
for (k = 0; k <= 4; k++)
{
column_sums = column_sums + str[k] + str[k + 4] + str[k + 8] + str[k + 12];
}
diagonal_sums = str[0] + str[5] + str[10] + str[15];
printf("The row sums is:%4d\n", row_sums);
printf("The column sums is:%4d\n", column_sums);
printf("The diagonal sum is:%4d\n", diagonal_sums);
}