Home > Backend Development > C#.Net Tutorial > How to use the ternary operator in C language?

How to use the ternary operator in C language?

coldplay.xixi
Release: 2020-06-28 09:35:06
Original
16027 people have browsed it

Usage of the ternary operator in c language: First, for the conditional expression [b? x: y], calculate the condition b; then make a judgment. If the value of b is true, calculate the value of is the value of x, otherwise, calculate the value of y, and the result of the operation is the value of y.

How to use the ternary operator in C language?

C language ternary operator usage:

For the conditional expression b ? x : y, calculate first Condition b, and then make a judgment. If the value of b is true, the value of x is calculated, and the result of the operation is the value of x; otherwise, the value of y is calculated, and the result of the operation is the value of y.

A conditional expression never calculates both x and y. Conditional operators are right associative, that is, they are evaluated in groups from right to left. For example, a ? b : c ? d : e will be executed as a ? b : (c ? d : e).

? : ; The meaning of the "?" operator is: first find the value of expression 1, and if it is true, execute Expression 2 and returns the result of expression 2; if expression 1 evaluates to false, expression 3 is executed and the result of expression 3 is returned.

can be understood as condition ? Result 1 : Result 2 inside? No. is a format requirement. It can also be understood as whether the condition is true, the condition is true, the result is 1, otherwise it is the result 2.

How to use the ternary operator in C language?

Extended information:

The ternary operator, also known as the conditional operator, refers to the important functions of computer languages ​​(c, c, java, etc.) component. It is the only operator with 3 operands, so it is sometimes called the ternary operator. Generally speaking, the associativity of ternary operators is right associative.

The following are some explanations about conditional operators:

(1), Usually, expression 1 is a relational expression or a logical expression, used to describe conditional expressions The conditions, expression2 and expression3 can be constants, variables or expressions. For example:

(x==y)?&#39;Y&#39;:&#39;N&#39;(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)ch=(ch>=&#39;A&#39;&&ch<=&#39;Z&#39;)?(ch+32):ch
Copy after login

The above are all legal conditional expressions.

(2). The execution order of conditional expressions is: first solve expression 1. If the value is non-0, it means the condition is true, then solve expression 2. At this time, the value of expression 2 is as The value of the entire conditional expression;

If the value of expression 1 is 0, which means the condition is false, then expression 3 is solved, and the value of expression 3 is the value of the entire conditional expression. For example:

(a>=0)?a:-a The execution result is the absolute value of a.

(3) In the program, directly assign the value of the conditional expression to a variable. For example:

min=(a<b)?a:bThe execution result is to assign the value of the conditional expression to the variable min, that is, assign the smaller number of a and b to min.

(4). The priority level of conditional expression is only higher than assignment operator, but lower than all operators encountered before.

Therefore, min=(a<b)?a:bYou don’t need the brackets, you can write it directly,min=a<b?a:bIf there is x<y?x 1:y-1 is equivalent to x<y(x 1):(y-1) but not equivalent to (x<y?x 1:y)-1

(5), the combination direction of conditional operators is "from right to left".

(6), conditional expressions are allowed to be nested, That is, expression 2 and expression 3 in the conditional expression are allowed to be another conditional expression. For example:

x>0?1:x<0?-1:0
Copy after login

In the above conditional expression, the 3rd part of the expression is also a conditional expression. According to the associativity of the conditional expression, the above conditional expression is equivalent to:

x>0?1:(x<0?-1:0)
Copy after login

Its Its function is to determine the sign of x. When x is a positive number, the value of the conditional expression is 1; when x is a negative number, the value of the conditional expression is -1; when x is 0, the value of the conditional expression The value is 0.

(7). Conditional expressions cannot replace the general if statement. They can only replace the if statement when the statement embedded in the if statement is an assignment statement (and both branches assign values ​​to the same variable). For example:

if(a%2==0)printf("even/n");elseprintf("odd/n");
Copy after login

The function of this statement is: if a is an even number, output even; if a is an odd number, output odd.

(8) The types of expression 1, expression 2 and expression 3 can be different. At this time, the value type of the conditional expression is the higher type among them.

Recommended tutorial: "C Video Tutorial"

The above is the detailed content of How to use the ternary operator in C language?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
c
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template