# Operators : Relational Operators

0 like 0 dislike
9 views

Relational operators check if a speciﬁc relation between two operands is true. The result is evaluated to 1 (which means true) or 0 (which means false). This result is often used to aﬀect control ﬂow (via if, while, for), but can also be stored in variables.

0 like 0 dislike
by Goeduhub's Expert (8k points)

Relational operators check if a speciﬁc relation between two operands is true. The result is evaluated to 1 (which means true) or 0 (which means false). This result is often used to aﬀect control ﬂow (via if, while, for), but can also be stored in variables.

### Equals "=="

Checks whether the supplied operands are equal.

1 == 0;                   /* evaluates to 0. */

== 1;                 /* evaluates to 1. */

int x = 5;

int y = 5;

int *xptr = &x, *yptr = &y;

xptr == yptr;        /* evaluates to 0, the operands hold different location addresses. */

*xptr == *yptr; /* evaluates to 1, the operands point at locations that hold the same value. */

Attention: This operator should not be confused with the assignment operator (=)!

### Not equals "!="

Checks whether the supplied operands are not equal.

1 != 0;                          /* evaluates to 1. */

!= 1;                    /* evaluates to 0. */

int x = 5; int y = 5;

int *xptr = &x, *yptr = &y;

xptr != yptr;        /* evaluates to 1, the operands hold different location addresses. */

*xptr != *yptr; /* evaluates to 0, the operands point at locations that hold the same value. */

This operator eﬀectively returns the opposite result to that of the equals (==) operator.

### Not "!"

Check whether an object is equal to 0.

The ! can also be used directly with a variable as follows:

!someVal

This has the same eﬀect as:

someVal == 0

### Greater than ">"

Checks whether the left hand operand has a greater value than the right hand operand

5 > 4                             /* evaluates to 1. */

5                        /* evaluates to 0. */

4                        /* evaluates to 0. */

### Less than "<"

Checks whether the left hand operand has a smaller value than the right hand operand

5 < 4                              /* evaluates to 0. */

5                        /* evaluates to 1. */

4                       /* evaluates to 0. */

### Greater than or equal ">="

Checks whether the left hand operand has a greater or equal value to the right operand.

5 >= 4                                 /* evaluates to 1. */

>= 5                          /* evaluates to 0. */

>= 4                        /* evaluates to 1. */

### Less than or equal "<="

Checks whether the left hand operand has a smaller or equal value to the right operand.

5 <= 4                               /* evaluates to 0. */

<= 5                         /* evaluates to 1. */

<= 4                        /* evaluates to 1. */