조건연산자로는 3개이상 표현 불가능한가요?(예시있어요)
엘보어
2023.04.01
x=(y0)?1:2
(y0 )참이면 1을 x대입
(y0) 거짓이면 2를 x대입을 응용해서x=(y==90:y==80:y==90)?1:2:3
y가90이면 x에1대입
y가80이면 x에2대입
y가70이면 x에3대입
가능한가요??
오류가 나서요 방법이 있는건데 제가 모르는것이라면 궁굼한데 도와주실래요~?
원래 안되는건지 파악이 안되네요~
-
에드워드
삼항 연산자라고도 하고, 다항연산자라고도 하죠 ^^..
x=(y=90)?1:(y=80)?2:3
이걸 원하시는 것 같은데... 90이상이 아니라.. 꼭 90일 경우에만 대입을 해야 한다면 삼항연산자로는
명확한 표현이 이루어지지 않습니다. 이 경우에는 if 문이나 switch 문을 이용하시는 것이 좋습니다.
삼항 연산자는 항이 많아지면 보기가 어려워(한눈에 파악하기가..) 집니다.
제가 권장하고 싶은 방법은.... 위 항목이 점수라는 가정하에..
x=( -
든해
함수형 언어(lisp이나 ruby같은) 언어가 아닌이상 원하는 형태의 조건 연산은 안됩니다.
-
나리
위의 방식은 안됩니다.
x=y==90?1:
y==80?2:
y==70?3:0;