[c] 포인터를 활용한 2차원배열 출력이 안됩니다.

조회수 378회

포인터를 활용하여 2차배열에 저장 후 출력을 하려 했지만 정상적으로 출력이 안됩니다. 봐주셔서 감사합니다.

#include<stdio.h>
void main(){
    int student_subject[3][2];
    int (*p)[2] = student_subject;

    for (int student = 0; student < 3; student++){
        printf("%d번째 학생 성적 입력\n", student+1);
        for (int subject = 0; subject < 2; subject++){
            switch (subject){
            case 0:
                printf("국어 : ");    
                break;
            case 1:
                printf("영어 : ");
                break;
            }
            scanf("%d", (p + student)[subject]);
        }    
    }
    printf("=== 학생 성정 출력 ===\n");
    printf("학번\t국어\t영어\n");
    for (int student = 0; student < 3; student++){
        printf("%d\t", student+1);
        for (int subject = 0; subject < 2; subject++){
            switch (subject){
            case 0:
                printf("%d\t", *(p+student)[subject]);
                break;
            case 1:
                printf("%d\n", *(p+student)[subject]);
                break;
            }
        }
    }
}
}

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)