#include<stdio.h>

int turn(int (*arr) [4], int *arr1, int *arr2, int *arr3, int *arr4)
{
 int temp, temp2;
 int j = 0;
 for (int i = 0; i < 4; i++) {
  arr1[i] = arr[i][3];
  arr2[i] = arr[3][i];
  arr3[i] = arr[i][0];
  arr4[i] = arr[0][i];
 }
 
 for (int i = 3; i >= 0; i--) {
  arr[3][i] = arr1[j];
  arr[0][i] = arr[j][0];
  j++;
 }

 for (int i = 3; i >= 0; i--) {
  arr[i][0] = arr2[i];
 }

 for (int i = 0; i < 4; i++) {
  arr[i][3] = arr4[i];
 }

 temp = arr[1][2];
 temp2 = arr[2][1];
 arr[1][2] = arr[1][1];
 arr[2][1] = arr[2][2];
 arr[2][2] = temp;
 arr[1][1] = temp2;
}

int main(void)
{
 int arr[4][4] = {
  { 1, 2, 3, 4 },
  { 5, 6, 7, 8 },
  { 9, 10, 11, 12 },
  { 13, 14, 15, 16 }
 };

 int arr1[4];
 int arr2[4];
 int arr3[4];
 int arr4[4];
 
 turn(arr, arr1, arr2, arr3, arr4);
 for (int i = 0; i < 4; i++) {
  for (int j = 0; j < 4; j++) {
   printf("%d ", arr[i][j]);
  }
  printf("\n");
 }
 printf("\n");

 turn(arr, arr1, arr2, arr3, arr4);
 for (int i = 0; i < 4; i++) {
  for (int j = 0; j < 4; j++) {
   printf("%d ", arr[i][j]);
  }
  printf("\n");
 }
 return 0;
}



물론 가독성 제로 ㅎㅎ..

C언어 입문.. 진짜 힘들게 만들었슴다.