watch evidence

Watch 값이 루프 범위 오류를 드러낸다

기대 범위는 1부터 5까지지만 실제 루프는 0부터 4까지만 더한다. 빠진 값과 잘못 들어간 값을 나란히 보면 수정 방향이 바로 보인다.

기대 범위

1 2 3 4 5

합계 15

실제 관찰

0 1 2 3 4 5 누락

합계 10

관찰 지점 Watch 값 판단
반복 시작 i = 0total_sum = 0 1부터 더해야 하는 요구와 다르다.
마지막 실행 i = 4total_sum = 10 아직 5가 더해지지 않았다.
종료 조건 5 < 5가 거짓 조건이 마지막 값을 제외한다.

수정: for (int i = 1; i <= max_val; ++i)처럼 시작값과 종료 조건을 요구 범위와 맞춘다.