-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
18분9초에 함수만드신거 질문드립니다
21.08.11 15:03 작성 조회수 107
0
교수님 안녕하세요
18분 9초 쯤에
int getPrice(bool onSale)
{
if (onSale) return 10;
else return 100;
}
라고 함수를 하나 만드셨는데
int main()
{
bool onSale = false;
이것처럼 bool onSale을 true가 아닌 false로 놓으면 왜 100이 나오는지 여쭤봅니다.
혹시
if (onSale) return 10;
이라는 뜻은 onSale이 참일때 10을 return하라는 뜻이어서 false로 놓으면 100이 나오는것인가요?
그러면 bool 타입 인풋일때는 if (onSale == true)라고 명시를 안해도 if(onSale)만으로도 onSale==true라는 뜻이라서 그런것인가요?
함수의 input type이 정수인것들만 보다가 여기선 bool 타입이다보니 헷갈리는것 같습니다
감사합니다
const int price = getPrice(onSale);
답변을 작성해보세요.
0
안소
2021.08.11
안녕하세요 :)
if (onSale == true) 라고 해줄 수도 있지만
이 onSale 자체의 값이 true 아니면 false 이잖아요?
그러니 if (onSale) 이라고도 할 수 있는 것입니다. onSale 이 자체가 조건식이 될 수 있는 것입니다. onSale 의 값으로 판별하면 되니까요!
조건식을 판별할 때 0 이 아닌 모든 것은 참, 오로지 0 만 거짓이라는 것을 배우셨을 겁니다.
onSale 값 자체가 무엇인지에 따라 충분히 참, 거짓을 가려낼 수 있으니 if (onSale) 이라고도 쓸 수 있는 것입니다.ㅣ
onSale 값이 true 면 10을 리턴하겠고, false 면 100을 리턴하겠습니다.
답변 1