인프런 커뮤니티 질문&답변
질문 있습니다.
작성
·
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 문이 실행되지 않았을 때 실행되게 됩니다.






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