C 언어의 삼항 연산자 사용법: 먼저 조건식 [b ? x : y]에 대해 조건 b를 계산한 다음 b의 값이 true이면 값을 계산합니다. y 값을 계산하면 연산 결과가 y 값이 됩니다.
C 언어 삼항 연산자 사용법:
조건식 b ? x : y
에 대해 먼저 조건 b를 계산한 후 판단합니다. b 값이 true이면 x 값이 계산되고, 연산 결과는 x 값이 됩니다. 그렇지 않으면 y 값이 계산되고 연산 결과는 y 값이 됩니다. b ? x : y
,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e
将按a ? b : (c ? d : e)
执行。
? : ; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。
可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为是不是条件成立,条件成立为结果1否则为结果2。
扩展资料:
三目运算符,又称条件运算符,指的是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。
以下是关于条件运算符的几点说明:
(1)、 通常情况下,表达式1是关系表达式或逻辑表达式,用于描述条件表达式中的条件,表达式2和表达式3可以是常量,变量或表达式。例如:
(x==y)?'Y':'N'(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)ch=(ch>='A'&&ch<='Z')?(ch+32):ch
以上均为合法的条件表达式。
(2)、 条件表达式的执行顺序为:先求解表达式1,若值为非0,表示条件为真,则求解表达式2,此时表达式2的值就作为整个条件表达式的值;
若表达式1的值为0,表示条件为假,则求解表达式3,表达式3的值就是整个条件表达式的值。例如:
(a>=0)?a:-a
执行结果是a的绝对值。
(3) 、在程序中,通过把条件表达式的值直接赋予某个变量。例如:
min=(a<b>执行结果就是将条件表达式的值赋予变量min,即将a和b二者中较小的数赋给min。</b>
(4)、 条件表达式的优先级别仅高于赋值运算符,而低于前面遇到过的所有运算符。
因此,min=(a<b>括号可以不要,可直接写成,<code>min=a<b>如果有<code>x<y>等效于<code>x<y>而不等效于<code>(x<y></y>
a ? b : c ? d : e
는 a ? b : (c ? d : e)
로 실행됩니다.
x>0?1:x<0?-1:0위 내용은 모두 합법적인 조건식입니다. (2) 조건식의 실행 순서는 다음과 같습니다. 먼저 수식 1을 푼다. 값이 0이 아니면 조건이 참이라는 뜻이고, 그런 다음 수식 2를 푼다. 이때 수식 2의 값은 다음과 같다. 🎜🎜식 1의 값이 0이면 조건식이 거짓이라는 뜻이므로, 식 3의 값을 풀면 식 3의 값이 전체 조건식의 값이 됩니다. 예: 🎜🎜
(a>=0)?a:-a
실행 결과는 a의 절대값입니다. 🎜🎜(3) 프로그램에서는 조건식의 값을 변수에 직접 대입합니다. 예를 들면 다음과 같습니다. 🎜🎜min=(a<b>실행 결과는 조건식의 값을 변수 min에 할당합니다. 즉, a와 a의 더 작은 수를 할당합니다. b를 분으로 🎜🎜(4) 조건식의 우선순위 수준은 할당 연산자보다 높지만 이전에 만난 모든 연산자보다 낮습니다. 🎜🎜따라서 <code>min=(a<b>에는 대괄호가 필요하지 않으며 <code>min=a<b>로 직접 작성할 수 있습니다. <code>x<y>이 있는 경우 <code>x<y>와 동일하지만 <code>(x< ;y?x+1:y)-1
🎜🎜(5), 조건 연산자의 조합 방향은 "오른쪽에서 왼쪽"입니다.🎜🎜(6), 조건식은 다음과 같이 허용됩니다. 중첩, 즉 조건식에서 허용되는 식 2와 식 3도 조건식입니다. 예: 🎜x>0?1:(x<0?-1:0)🎜 위 조건식에서 식의 세 번째 부분은 조건식의 연관성에 따라 다음과 동일합니다. 🎜
if(a%2==0)printf("even/n");elseprintf("odd/n");🎜 해당 기능은 부호를 결정하는 것입니다. x가 양수이면 조건식의 값은 1이고, x가 음수이면 조건식의 값은 -1이고, x가 0이면 조건식의 값은 0입니다. 🎜🎜(7) 조건식은 일반 if 문을 대체할 수 없습니다. if 문에 포함된 문이 할당 문인 경우에만 if 문을 대체할 수 있습니다(그리고 두 분기 모두 동일한 변수에 값을 할당합니다). 예: 🎜rrreee🎜 이 문의 기능은 다음과 같습니다. a가 짝수이면 짝수를 출력하고, a가 홀수이면 홀수를 출력합니다. 🎜🎜(8) 표현식 1, 표현식 2, 표현식 3의 유형은 다를 수 있습니다. 이때 조건식의 값 유형은 그 중 상위 유형입니다. 🎜🎜추천 튜토리얼: "🎜C 동영상 튜토리얼🎜"🎜
위 내용은 C 언어에서 삼항 연산자를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!