C출력 결과보통 · 20점#2차원 배열#배열#반복문

50. 2차원 배열 부분 초기화와 대각선 합

다음 C 프로그램의 실행 결과를 쓰시오.

1#include <stdio.h>
2
3int main() {
4 int a[3][4] = {{3, 1}, {4, 1, 5}, {9}};
5 int rows = sizeof(a) / sizeof(a[0]);
6 int cols = sizeof(a[0]) / sizeof(a[0][0]);
7 int total = 0;
8 for (int i = 0; i < rows; i++) {
9 int rowSum = 0;
10 for (int j = 0; j < cols; j++) {
11 rowSum += a[i][j];
12 }
13 printf("row%d=%d\n", i, rowSum);
14 total += rowSum;
15 }
16 int diag = 0;
17 for (int k = 0; k < rows; k++) {
18 diag += a[k][k] + a[k][cols - 1 - k];
19 }
20 printf("%d %d\n", total, diag);
21 return 0;
22}

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.