인프런 커뮤니티 질문&답변

최원철님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C++

5.6 반복문 do-while

do while 연습문제 질문

작성

·

152

1

https://www.acmicpc.net/problem/1110

int main()

{

int input_Num = 0;

int sum = 0;

int count = 0;

int tens, units;

cin >> input_Num;

tens = input_Num / 10;

units = input_Num % 10;

do {

sum = units * 10 + (tens + units) % 10;

tens = sum / 10;

units = sum % 10;

count++;

} while (input_Num != sum);

cout << count << endl;

return  0;

}

안녕하세요 교수님. 궁금한게 있어서 글을 올립니다.

전부 이해가 되는데 while (input_Num != sum); 이부분의 코드에서 이해가 안됩니다. 조건이 input_Num == sum인 지 알았는데 아니어서 왜그런지 궁금합니다. '!=' 같지 않기 때문에 while(false)처럼 작동되는 건가요? 아니면 while(true)처럼 작동되는 건가요? 

그리고 '== '을 '!='대신 넣었을때 1번만 작동되며 종료되는 것은 코딩이 잘못 되어 그런것인가요?

답변 2

2

Hello Yeo님의 프로필 이미지

2020. 05. 14. 12:26

안녕하세요? 교수님은 아니지만...

A==B은
A와 B가 같을 때 true를 return 합니다.
A와 B가 같지 않을 때 false를 return 합니다.

A!=B 은 
A와 B가 같을 때 false 를 return합니다.
A와 B가 같지 않을 때 true를 return 합니다.

do while 문은 while(false) 일 때도 적어도 한 번은 실행하며...
while(true) 일 때 반복문을 다시 실행합니다.

이 사실들을 알고 차근차근 보시면 충분히 이해하실 것 같습니다.

0

최원철님의 프로필 이미지
최원철
질문자

2020. 05. 15. 01:46

감사합니다. 다시 보니 이해가 되었습니다. 어제 너무 급하게 공부하여 이해를 못한거 같아요 . 정말 감사합니다.