반응형
off by one error
반복문에서 루프가 한번 더 실행되거나 덜 실행되는 경우의 오류
예제
배열 arr의 인덱스는 arr[0] ~ arr[4]까지 유효하지만 아래의 반복문은 arr[0] ~ arr[5]를 탐색한다.
아래와 같이 조건문의 작거나 같다(<=)를 작다(<)라고 쓸 경우 발생할 수 있다.
int arr[5] = {1,2,3,4,5};
for(int i=0; i<6; i++){
// processing
}
참고
https://en.wikipedia.org/wiki/Off-by-one_error
최근댓글