동그라미 4번에서 number는 2를 받았는데 어떻게 동그라미 9가 가능한가요? 3~8과정을 돌리고 난 후 9로 와서 i값이 1 증가한다면 i=3,number=2가 되니까 i<=number를 충족하지 못하지 않나요?
리턴은 for문으로 때리기 때문에 for문 위에 있는 int number=99로 number값 초기화가 안되지 않나요
안녕하세요 길벗수험서 운영팀입니다.
예를들어 김철수라는 사람이 서울에 살고 있습니다.
전국에 김철수라는 사람은 딱한명만 있는것이 아니라
동명이인이 많이 있을것입니다.
그와 마찮가지로 main() 함수에서 사용하는 number, i 변수와
isprime() 함수에서 사용하는 number, i변수는 동일한 변수가 아니라 서로 다른변수입니다.
아래 코드에서 동그라미 3번에서 isprime(i) 함수를 호출을 했으니
동그라미 4~8까지 실행이 끝나면 반환되는 값을 가지고
isprime(i) 함수를 호출했던 동그라미 3번으로 이동이 되어
반환 받은 값을 cnt에 누적을 시켜줍니다
cnt에 값을 누적한후 다시 for문으로 이동하여 i가 3일때를 실행합니다
또 질문하신 동그라미 1번에 있는 int number = 99, cnt = 0, i; 코드는 맨처음에 한번만 실행이 되고
이후 int number = 99, cnt = 0, i; 코드는 실행이 되지 않습니다
행복한 하루되세요 :)
-
관리자2025-08-27 18:35:05
안녕하세요 길벗수험서 운영팀입니다.
예를들어 김철수라는 사람이 서울에 살고 있습니다.
전국에 김철수라는 사람은 딱한명만 있는것이 아니라
동명이인이 많이 있을것입니다.
그와 마찮가지로 main() 함수에서 사용하는 number, i 변수와
isprime() 함수에서 사용하는 number, i변수는 동일한 변수가 아니라 서로 다른변수입니다.
아래 코드에서 동그라미 3번에서 isprime(i) 함수를 호출을 했으니
동그라미 4~8까지 실행이 끝나면 반환되는 값을 가지고
isprime(i) 함수를 호출했던 동그라미 3번으로 이동이 되어
반환 받은 값을 cnt에 누적을 시켜줍니다
cnt에 값을 누적한후 다시 for문으로 이동하여 i가 3일때를 실행합니다
또 질문하신 동그라미 1번에 있는 int number = 99, cnt = 0, i; 코드는 맨처음에 한번만 실행이 되고
이후 int number = 99, cnt = 0, i; 코드는 실행이 되지 않습니다
행복한 하루되세요 :)