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

이승찬님의 프로필 이미지
이승찬

작성한 질문수

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

1.7 예제 질문입니다.

작성

·

170

0

1.7 예제입니다. 디버깅 결과 0,123,0이 순서대로 나오던데 어떠한 과정을 거쳐서 이러한 값이 나왔는지 궁금합니다.

#include <iostream>

using namespace std;

 

void doSomething(int x)

{

x = 123;

cout << x << endl;       // #2

}

 

int main()

{

int x = 0;

 

cout << x << endl;      //#1

doSomething(x);

cout << x << endl;     //#3

return 0;

}

답변 3

0

홍정모님의 프로필 이미지
홍정모
지식공유자

안녕하세요? 일단 가급적 질문은 해당 강의에서 해주시기 바랍니다.

1.7이면 매우 앞부분인데 조금 더 진행하시면 디버거 사용방법을 알려드립니다. 지금 '디버깅 결과'라고 하셨는데 문맥상으로는 '실행 결과'를 얘기하시는 것 같네요. 디버거 사용방법을 배우시면 main에서 doSomething으로 왔다갔다 하는 것을 직접 확인하실 수 있어서 공부 속도가 많이 빨라집니다.

0

이승찬님의 프로필 이미지
이승찬
질문자

그럼 #1, #2, #3의 값이 순서대로 0,123,0으로 나온건가요?

0

안녕하세요?
C++로 만든 프로그램은 main 함수 내에서 순서대로 실행되기 때문입니다.
함수가 혼란스러우신 것 같기도한데 함수가 실행되면 프로그램이 시작됐을 때 main의 시작 지점으로 갔던 것처럼
함수가 실행되면 함수의 시작 지점으로 넘어갑니다. 그리고 return 명령이 (작성하신 프로그램에서는 암시적으로) 실행되면 다시 main으로 돌아옵니다.

이승찬님의 프로필 이미지
이승찬

작성한 질문수

질문하기