gcc -o main main.c. (띄어쓰기를 기준으로 하면 인자가 4개)
***main.c 파일이 있을때 cmd에서 실행하였을 때....
voidint.c 를 실행할때 받는 인자의 갯수에 따라 출력값이 늘어간다.
인자 2개를 넣자 조건이 맞지않아 if문을 무시하고 iNum만 출력..

#include <stdio.h>
void step(int (*arr)[4]);
void print(int (*arr)[4]);
int main()
{
int iCnt;
int iNum;
int arr[4][4]={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16}
};
int * uiPoint = &arr[4][4];
printf("*******첫번째 출력*******\n");
print(arr);
printf("*******두번째 출력*******\n");
step(arr);
print(arr);
printf("*******세번째 출력*******\n");
step(arr);
print(arr);
printf("*******네번째 출력*******\n");
step(arr);
print(arr);
return 0;
}
void print(int (*arr)[4])
{
int iCnt;
int iNum;
for(iCnt=0; iCnt < 4; iCnt++)
{
for(iNum=0; iNum < 4; iNum++)
{
printf("%5d",arr[iCnt][iNum]);
}
printf("\n");
}
}
void step(int (*arr)[4])
{
int iCnt;
int iNum;
int temp[4][4];
for(iCnt=0; iCnt < 4; iCnt++)
{
for(iNum=0; iNum < 4; iNum++)
{
temp[iNum][3-iCnt] = arr[iCnt][iNum];
}
}
for(iCnt=0; iCnt < 4; iCnt++)
{
for(iNum=0; iNum < 4; iNum++)
{
arr[iCnt][iNum] = temp[iCnt][iNum];
}
}
}


#include <stdio.h>
int main()
{
int q = 0;
int w = 0;
int e = -1;
int r = 1;
int num;
int iNum;//
int cnt;//
int arr[50][50];
printf("숫자를 입력하세요.\n");
scanf("%d",&iNum);
cnt = iNum;
while(1)
{
for(num=0; num < cnt; num++)
{
q++;
e = e + r;
arr[w][e] = q;
}
cnt = cnt -1;
if(q == iNum * iNum)
{
break;
}
for(num=0; num < cnt; num++)
{
q++;
w = w + r;
arr[w][e] = q;
}
r = r*-1;
}
//*******************************************printf
for(q=0; q < iNum; q++)
{
for(w=0; w < iNum; w++)
{
printf("%5d ",arr[q][w]);
}
printf("\n");
}
//*******************************************
return 0;
}
