게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c린이 인데, 도와주세요ㅠ
게시물ID : programmer_21624짧은주소 복사하기
작성자 : 식물의즙
추천 : 1
조회수 : 619회
댓글수 : 5개
등록시간 : 2017/11/03 15:00:54
옵션
  • 베스트금지
  • 본인삭제금지
  • 외부펌금지
제가 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'으로 출력되서 멘붕인데.. 이거 왜그런 건가요?ㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호