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

작성자 없음

작성자 정보가 삭제된 글입니다.

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2주차 개념 #4-1. 인접행렬(adjacency matrix)

질문

작성

·

249

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

마지막 풀이에서 if(a[i][j] && visited[i] == 0) 이 부분이 잘 이해가 안 갑니다. 둘 중 하나라도 0이 있으면 go(i)이 실행되어야 하는 것 같은데, 왜 a[i][j]가 1, visited[i]가 0일 때 go(i)가 실행 되는지 모르겠습니다.

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

음... 그니까 if( false && false)인 경우에 go(i)를 왜 실행하지 않고 넘어가는지 모르겠다 이런 말씀이시죠? if문에는 참이여만 그 if문이 작동이 됩니다. false && false는 false입니다.

다음 코드 참고부탁드려요!

#include <bits/stdc++.h> 
using namespace std; 
int main()
{  
	bool a = 0; 
	bool b = 0;
	if(a && b){
		cout << 1 << '\n'; 
	} 
	return 0;
}

 

고민하다 해결 되어서 삭제했는데 글이 남았네요.

==랑 && 의 연산자 우선순위를 생각을 못해서 나온 의문이었습니다. 언제나 상세한 설명 감사합니다!

0

vs에서 실행시키면서 이 부분이 왜 이런지 잘 모르겠습니다..

cout << true && true 제외 전부 0을 반환하는데, 왜 false && false 인 경우에 go(i)를 실행하지 않고 넘어가는지를 모르겠습니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기