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