제가 c린이라서 과제중에 이상한(제 입장에선) 걸 발겼했는데...
int main()
{
int i, j, m, n;
char** a;
scanf("%d %d", &m, &n);
a = (char**)malloc((m+1) * sizeof(char*));
for (i = 0; i<m; i++)
{
*(a + i) = (char*)malloc((n+1) * sizeof(char));
}
for (i = 0; i<m; i++)
{
for (j = 0; j<n; j++)
{
scanf("%c", &*(*(a+i)+j));
}
}
for (i = 0; i<m; i++)
{
for (j = 0; j<n; j++)
{
printf("%c", *(*(a+i)+j));
}
}
}
이런식으로 m과 n을 scanf으로 값을 대입해서 a를 출력하면 *(*(a+0)+0)이 '\n'으로 무조건 출력되는데
scanf말고 그냥 m=3, n=3이런식으로 대입하면 *(*(a+0)+0)의 값이 정상적으로 제가 입력한 값으로 출력됩니다.
지금 *(*(a+0)+0)의 값이 무조건 '\n'으로 출력되서 멘붕인데.. 이거 왜그런 건가요?ㅠ