culture1123   2년 전

아래 코드에서

이중 if 문과

if(index == n)

     { if(s.size() ==6)}

if( index ==n && s.size() ==6)
의 차이가 뭔지 궁금합니다

이중 if는 되는데 아래 &&은 무한루프로 빠지네요 ㅠㅠㅠ

dlwodnsdl   2년 전


if( index ==n && s.size() ==6)로 쓰시면

index==n이지만 s.size==6이 아닐때 return 이 작동을 안하겠죠.

injoon2018   2년 전

저도 궁금...알림용

culture1123   2년 전

dfs일때는 return 주의 감사합니다

fhskf94kr   2년 전

@dlwodnsdl 님이 설명해주셨지만, 다시 자세히 적는다면

&&의 경우와 그렇지 않은 경우에 if문에 들어가는 조건이 다르게 됩니다.


return 을 수행하기 위한 if문을 보시면,

if( index == n && s.size() == 6) 의 경우 두 가지 조건을 만족해야 if문에 들어가지만

if(index == n) { if(~ ) .. } 의 경우 index == n 의 조건만 만족하면 if문에 들어갈 수 있죠.


위의 두 함수를 완전히 똑같은 결과를 주시기 위해서는

if(s.size() ==6) cout << s << endl; return;

로 선언한 부분을

if(s.size() ==6) { cout << s << endl; return; }

와 같이 중괄호로 묶어 size == 6에만 return 을 수행할 수 있도록 수정해야 합니다.

culture1123   2년 전

자세한 설명 감사합니다 ㅠ

하나 알고 감니다

댓글을 작성하려면 로그인해야 합니다.