한 조건에서 한 가지 일을하는 조건문을 사용하려고하지만 다른 조건이 적용되는 경우 두 가지를 수행하려고합니다.C++ 조건부 연산자에 대한 다중 명령문
는 다음과 같은 고려 : "시간"이 25로 설정되어있는 경우
는(h >= 0 && h < 24 ? hour = h : hour = 0, cout << "Invalid Hour Detected\n")
, 올바르게 0으로 "시간"을 설정합니다. "h"를 12로 설정하면 "hour"가 12로 올바르게 설정됩니다.
true 조건과 false 조건 모두에 대해 "Invalid Hour Detected"가 출력되는 것이 문제입니다. 조건이 충족되지 않는 경우에만 출력하고 싶습니다.
본질적으로 조건문에서 한 조건에 대해 두 가지 작업을 수행 할 수 있는지 궁금합니다.
는 또한 시도 :
(h >= 0 && h < 24 ? hour = h : hour = 0 && cout << "Invalid Hour Detected\n")
하지만 어느 경우에 cout을 실행하지 않았다. 당신이 정말로이 이렇게 적절한 괄호를 추가하고 할당의 순서와 출력 삽입을 반전 할 경우
이것은 오래 전에 다른 사람에게 일어났습니다. 주문을 전환하고 대괄호를 추가해야합니다. – chris
방법/위치를 정교하게 신경 써야합니까? 나는이 문제점을 찾았고 비슷한 것을 찾을 수 없었다. –
[This] (http://en.cppreference.com/w/cpp/language/operator_precedence) 도움이 될 수 있습니다. – juanchopanza