changwonchun   2년 전

제가 직접 예시도 출력해보고 맞는 걸 확인하고 제출했는데 밑에 나온 에러가 뜹니다.

인터넷에도 검색해보고 했는데 잘 모르겠어서 질문 남깁니다.

제 생각에는 while문 안에서 result값이 계속 변화하는데 while문을 반복할 때마다 result값이 초기화되지 않았다고 하는 건가요?

그것 때문에 int result;를 while문 안에도 넣어봤는데 그러면 조건문에 나온 result가 선언되지 않아서 실행이 안 됩니다.

대체 무슨 문제일까요?

Main.cc: In function ‘int main()’:
Main.cc:15:11: warning: ‘result’ is used uninitialized [-Wuninitialized]
   15 |   while(n != result){
      |         ~~^~~~~~~~~

kimhs   2년 전

12줄에서 result가 선언하고 아무런 값도 대입하지 않은 채로 15줄에서 result를 사용했기 때문에 오류가 발생합니다.

해결하려면 while문을 do while문으로 바꾸거나, 처음에 while문을 실행하기 전에 result문을 초기화하면 됩니다.

changwonchun   2년 전

감사합니다!

댓글을 작성하려면 로그인해야 합니다.