• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

22.03.20 17:42 작성 조회수 422

1

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

답변 1

답변을 작성해보세요.

2

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

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

 

김철수님의 프로필

김철수

질문자

2022.03.22

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

 

정리하면

 

boolean 일때만 0 아니면 true이고

 

cin은 예외 이군요

 

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

 

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

 

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