인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

김철수's profile image
김철수

asked

C++ by Hong Jeong-mo

2.6 Boolean data type and conditional statement if

0 아니면 다 true라고 하셨습니다.

Written on

·

609

2

 
 
 
 
왜 알파벳 하나 입력 했을때 false가 나오나요?
 
d나 다른 알파벳도 넣으면 false가 나옵니다.
 
강의 시간 - 18:45
비쥬얼 스튜디오 버젼 2019 16.7.5
C++

Answer 1

2

honglab님의 프로필 이미지
honglab
Instructor

안녕하세요? 좋은 질문입니다.

boolean이 0이 아니면 True라는 얘기는 조건문에서 사용할 때입니다.

지금 질문하신 내용은 cin으로 입력받을 때라서 경우가 다릅니다.

다만, 저도 cin에서도 0이 아닌 값을 받으면 True가 나오도록 만들어져 있다면 더 좋았을 거라고 생각이 듭니다만 공식 문서를 보니까 입력값을 변수에 저장하는 값으로 변환하는 데에 실패하면 0이 저장된다고 정해져있네요.

  • If the conversion function fails to convert the entire field, the value 0 is stored in v

https://en.cppreference.com/w/cpp/locale/num_get/get

 

김철수님의 프로필 이미지
김철수
Questioner

정말 섬세한 답변 감사드립니다

 

정리하면

 

boolean 일때만 0 아니면 true이고

 

cin은 예외 이군요

 

살짝 헷갈릴수도 있겠네라는 생각이 드네요

 

분명 저는 boolean 변수에 입력 햇는데

 

cin을 통해 들어갔다고 false 가 나오니까요 

김철수's profile image
김철수

asked

Ask a question