C Language Operatori relazionali

Esempio

Gli operatori relazionali verificano se una relazione specifica tra due operandi è vera. Il risultato viene valutato su 1 (che significa vero ) o 0 (che significa falso ). Questo risultato viene spesso utilizzato per influenzare il flusso di controllo (tramite if , while , for ), ma può anche essere memorizzato in variabili.

Uguale a "=="

Controlla se gli operandi forniti sono uguali.

1 == 0;         /* evaluates to 0. */
1 == 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. */

Attenzione: questo operatore non deve essere confuso con l'operatore di assegnazione ( = )!

Non uguale a "! ="

Controlla se gli operandi forniti non sono uguali.

1 != 0;         /* evaluates to 1. */
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. */

Questo operatore restituisce in modo efficace il risultato opposto a quello dell'operatore di uguale ( == ).

Non "!"

Controlla se un oggetto è uguale a 0 .

Il ! può anche essere usato direttamente con una variabile come segue:

!someVal

Questo ha lo stesso effetto di:

someVal == 0

Maggiore di ">"

Controlla se l'operando di sinistra ha un valore maggiore rispetto all'operando di destra

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

Meno di "<"

Controlla se l'operando di sinistra ha un valore inferiore rispetto all'operando di destra

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

Maggiore o uguale "> ="

Controlla se l'operando di sinistra ha un valore maggiore o uguale all'operando di destra.

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

Minore o uguale "<="

Controlla se l'operando di sinistra ha un valore inferiore o uguale all'operando di destra.

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