강의

멘토링

커뮤니티

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

jack sparrow님의 프로필 이미지
jack sparrow

작성한 질문수

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

2.6 불리언 자료형과 조건문 if

질문 있습니다.

작성

·

165

1

int main()

{

//    cout<<std::boolalpha;

//    cout<<isEqual(1,1)<<endl;

//    cout<<isEqual(1, 3)<<endl;

    

    if(0)

    {

        cout<<"True"<<endl;

    }

    else

    {

        cout<<"false"<<endl;

    }

     

    return 0;

}

위의 코드에서 실행하면 false 가 나옵니다.

궁금한 점은,

if(0)이면,    만약 "무언가"가 0이면 else 문을 실행한다는 것인데

여기서 말하는 무언가가 무엇인지 모르겠습니다.

답변 1

2

안녕하세요 :)

그 무언가는 if 문 괄호 안에 든 조건문입니다. if ( 조건문 )

if 문의 괄호 안에 들어가는 조건문의 결과가 0 이면 이 if 문은 실행되지 않습니다. false 는 곧 0 이나 마찬가지입니다. if (0) 은 조건문 자체가 "0" 인 셈인데 조건문 결과가 0 이므로 cout << "True" << endl 를 실행하지 않습니다. 

반대로 if 문의 괄호 안에 들어가는 조건문의 결과가 0 이 아닌 모든 값이면 이 if 문은 True 로 간주되어 실행이 됩니다. if(3) 이었으면  cout << "True" << endl  가 실행 됐을 것입니다.

else 는 짝꿍으로 붙어있는 if 의 조건문 결과가 false 여서 if 문이 실행되지 않았을 때 실행되게 됩니다.  

jack sparrow님의 프로필 이미지
jack sparrow
질문자

이해했습니다!! 정말 감사합니다!!!

jack sparrow님의 프로필 이미지
jack sparrow

작성한 질문수

질문하기