Re: 심사문제 38.8
, 도장_ 관리자님이 작성printf로 출력할 때 자료형과 서식 지정자가 일치해야 합니다.
int는 %d입니다.
심사문제 해설을 보면
scanf로 변수 두 개에 행렬의 크기 m과 n을 저장합니다(이하 변수는 m, n). 그다음에 m, n을 이용하여 2차원 배열을 만들려면 이중 포인터에 메모리를 할당해야 합니다. 따라서 char **matrix = malloc(sizeof(char *) * m);와 같이 세로 공간(행)에 해당하는 메모리를 할당합니다. 그리고 m만큼 반복하면서 가로 공간(열)에 해당하는 메모리를 할당합니다. 이때 가로 공간에는 문자열이 저장되므로 NULL까지 들어갈 수 있도록 가로 크기 + 1(n + 1)크기만큼 메모리를 할당합니다('Unit 39 문자열 사용하기', 'Unit 40 입력 값을 문자열에 저장하기' 참조).이와 같은 내용이 있습니다.
int로 2차원 배열을 만들면... 그것도 해결 방법은 될 수 있지만,
scanf("%s", arr[i]);
이런 입력 자체가 안 될 겁니다.
컴파일러 오류 메시지를 잘 살펴보세요.
포럼 오른쪽 상단에 38.8을 입력해서 이전 질문과 답변을 살펴보세요.