문제 설명
#include <stdio.h>
func(void)
{
static int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
return a;
}
void main(void)
{
printf("%d\n", func() );
}
출력 예시
7
정답 코드
#include <stdio.h>
int (*func(void))[4]
{
static int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
return a;
}
void main(void)
{
printf("%d\n", func()[1][2]);
}
/* typedef */
#if 0
#include <stdio.h>
typedef int(*ARRP)[4];
ARRP func(void)
{
static int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
return a;
}
void main(void)
{
printf("%d\n", func()[1][2] );
}
#endif
메모
printf 내부의 \n 습관화 필요