작성
·
353
1
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
9:47 연습 문제 질문인데요
dosomething함수를 부르고 123을 출력한 다음에 다시 다음 줄 읽을 때는 dosomething함수에서 썼던 x=123;은 중괄호를 벗어나면서 사라져서 그런 것이라고 이해 해도될까요?? 그리고
만약에 함수를 void형이 아니라 int 형으로 바꿔서 return x;으로 바꿔도 똑같이 0으로 출력 되던데 함수의 리턴 값도 저 dosomething(x);줄을 벗어나면
intx(0)으로 초기화 되는 건가요????
만약에 123을 출력하려고 하면 어떻게 해야할가요??
답변 2
1
0
dosomething함수를 부르고 123을 출력한 다음에 다시 다음 줄 읽을 때는 dosomething함수에서 썼던 x=123;은 중괄호를 벗어나면서 사라져서 그런 것이라고 이해 해도될까요??
네 맞습니다. x는 지역변수이기 때문입니다.
만약에 함수를 void형이 아니라 int 형으로 바꿔서 return x;으로 바꿔도 똑같이 0으로 출력 되던데
리턴을 할지라도 이미 값 자체가 지역변수이기 때문에 그렇습니다 :)
바로 위 댓글에서는 그 변수 자체를 print 해주신 거구요.