C언어/주차별 문제

[10주차] 역방향 출력

슈슈버거 2023. 6. 6. 16:59

문제


내가 작성한 코드

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() {
    int n; //배열의 크기
    scanf("%d", &n);

    //배열 입력
    int num[n][n];
    for(int i = 0; i<n; i++){
        for(int j = 0; j<n; j++){
            scanf("%d", &num[i][j]); 
        }
    }

    int (*ptr)[n] = num; //포인터에 연결

    int i = n-1;
    int j = n-1;

    //거꾸로 출력하는 코드
    while(1){
        printf("%d ", *(*(ptr+i)+j));
        j--;

        if(j < 0){ //한 줄 다 출력했을 경우
            i--; //윗줄로 이동
            j = n-1; //j 다시 끝으로 이동
        }

        if(i<0){ //출력 완료일 경우
            break;
        }
    }
    printf("\n");

    return 0;
}

거꾸로 index 처리 주의