pdd1224   3년 전

배열범위를 넘어섰다고 계속 뜨네요 

char arr[] = new char[n.length()];에서 char arr[] = new char[n.length()+3];

해도 안되요 어떻게 해야하나요 

djm03178   3년 전

그 부분에서 얼마를 할당하는지와는 관계 없습니다. 7번째 줄에서 바꿔치기를 하기 때문입니다. 즉, new char[n.length()]; 자체가 무의미한 문장입니다.

pdd1224   3년 전

근데 실행을 하면 배열범위를 벗어났다고 하는데  최대길이 를  arr[i]들이 건들여서 그런건가요 이런경우는 어떻게 하는게 나을 까요 

djm03178   3년 전

arr[i]까지는 괜찮으나 arr[i+1]이나 arr[i+2]가 문제가 될 수 있습니다. 이런 경우에는 각각 i가 n.length()-1, n.length()-2보다 작은지에 대한 검사를 선행하면 됩니다.

댓글을 작성하려면 로그인해야 합니다.