• CSE207 객체지향 강좌 및 C++ 관련, 누구나 묻고 답하는 게시판 입니다.
  • CSE207 수강생이 아니여도 편안하게 질문하세요.
  • 첨부화일은 이미지 화일 혹은 zip 화일로 업로드 하기를 권합니다.

제목논리 연산자 관련 질문입니다.2019-03-22 18:45
작성자

안녕하새요. 논리연산자 부분 수업을 복습하며 궁금한 점 질문으로 남깁니다.


논리연산자를 배우며 1<value<10 와 같은 표현을 사용하지말고 1<value && value<10 같이 표현을 해야 원하는 값을 얻을 수 있다는 점을 배웠습니다.


수업 당시 교수님이 1<value<10와 같은 표현을 사용하면 컴파일러에서 계산을 앞 부분(1<value)만 계산하던지 뒷 부분(value<10) 만 계산한다고 설명하셧던 것 같은데


int main() {

int value = -1;

if (1 <= value <= 10) {

cout << "부등호 앞에꺼 n";

}

int value2 = 11;

if (1 <= value2 <= 10) {

cout << "부등호 뒤에꺼n";

}

}

코드를 위와 같이 짠 후 실행하였을 시 두 경우 모두 출력이 되는 것을 확인하였습니다. 물론 위와 같은 표현이 원하는 값을 얻지 못하게 한다는것은 확인하였지만, 위와 같은 표현을 사용하면 왜 두 논리연산자가 ||(or)로 연결 되어 나오는지 궁금합니다.


또한 향상 or로 계산된다면 or 대신 사용하여도 문제가 없는 것인지 궁금합니다.



댓글