UNIT47
, 공 지민님이 작성615p ,
// 2-gram이므로 배열의 마지막에서 요소 한 개 앞까지만 반복함
for (int i = 0; i< count -1; i++)
{
printf("%s %s\n", tokens[ i ], tokens[i + 1]);
}
주석을 달아주셨는데 주석의 의미를 모르겠네요.
"배열의 마지막에서 요소 한 개 앞까지만 반복한다??..."
무슨의미죠..
Re: UNIT47
, 도장_ 관리자님이 작성2-gram을 구하는 문제입니다.
HELLO이면 마지막 2개인 LO까지만 출력해야 합니다.
3-gram이면 마지막 3개인 LLO까지만 출력해야 합니다.
루프에서 코드를 잘못짜면 이 범위를 벗어나게 되고,
이는 버그 또는 오류가 발생합니다.
2-gram이니까 배열의 마지막에서 요소 한 개 앞까지만 반복해야
마지막 LO까지만 출력합니다. 배열의 마지막 요소까지 반복하면
O + "알 수 없는 쓰레기 값"
까지 접근하게 되겠지요. 배열의 범위를 벗어났으니 메모리 접근 위반이고, 알 수 없는 값이니 버그 또는 오류가 발생하게 됩니다.