강의

멘토링

커뮤니티

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

tjrwn0716님의 프로필 이미지
tjrwn0716

작성한 질문수

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

5.2 조건문 if

25분 01초경 중괄호 안 x=1

해결된 질문

작성

·

219

1

중괄호 안에서만 x=1이 쓰이고나서

중괄호 밖으로 나오면 다시 main문의 x가 쓰여야하는 것아닌가요? 왜 계속 중괄호 한의 1이 사용되는지 헷갈립니다

답변 2

1

아.. 
<code>

#include <iostream>
using namespace std;

int main()
{
    int x = 0;
    cin >> x;
    if (x > 10);
    {
        x = 1;
    }

    cout << x << endl;

    return 0;

}

<output>

PS C:\coding\tbcpp_review\Chapter8> g++ .\ex.cpp

PS C:\coding\tbcpp_review\Chapter8> .\a.exe     

6

1

PS C:\coding\tbcpp_review\Chapter8> .\a.exe

2

1

if (x > 10);

;으로 if문이 끝나버려서

{
        x = 1;
}

어떤 값을 입력하더라도 x = 1; 이 됩니다.

블록안에서 같은 이름으로 새롭게 변수 선언을 하지 않으면

블록밖의 같은 이름의 변수에 값을 대입(네임하이딩?)하는 것 이기 때문에 그런 거 아닐까요?

감사합니다.

0

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

초보 때는 name hiding이나 scope에서 실수를 많이 합니다. 코드 전체를 보기 전에는 알기가 어려운 문제인데, 아마 사소한 실수를 하셨을 가능성이 높아보입니다.

tjrwn0716님의 프로필 이미지
tjrwn0716

작성한 질문수

질문하기