#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int num1;
int num2;
int i;
scanf("%d %d", &num1, &num2);
i = num1;
while (1)
{
if (i % 10 == 7)
continue;
if (i > num2)
break;
printf("%d ", i);
i++;
}
return 0;
}
사실 정확히 어느부분이 잘못된건지 알 수가 없습니다.
제가 짠 코드인데요
특히 if ( i> num2)
break;
인데 코드 실행시 7을 넘어서 값이 안나옵니다...
UNIT 6 디버거 사용법을 학습하고
원하는 위치에 중단점을 걸어서 실행될 때의 변수 값을 살펴보는 방법이 있습니다.
또는 처음부터 F11로 한 단계씩 실행하면서 전체 실행과 변수 값의 변화를 살펴보는 방법이 있습니다.
디버거 사용이 어려우면 온라인 시각화 툴을 사용해서 한 단계씩 실행해봐도 됩니다.
https://dojang.io/mod/forum/discuss.php?d=960
그림 30-3을 참고해서 자신이 짠 코드의 실행 순서도를 직접 그려보는 게 좋습니다. 전문가도 로직을 이해할 때는 실행 순서도를 그려보곤 합니다. 머릿속으로 생각하고 해결하고, 손가락을 움직여서 코딩하고, 실행해서 결과가 나오나 보는 건 낮은 수준의 문제 해결인데, 알고리즘 코딩 테스트로 가면 반드시 막히게 됩니다. 코딩 면접에서는 순서도를 그려서 설명할 수 있는 능력을 중요하게 보는 회사도 있습니다.
순서도로 그리고 이해하면 빠진 단계가 보입니다.