Cómo la expresión a == == c (comparación múltiple) evalúa b en la programación en C?

Desde lenguaje C no soporta el encadenamiento de comparación como a == b == c ; cada igual a operador ( == ) opera en sólo dos operandos. Entonces, ¿cómo la expresión a == b == c evalúa?

De acuerdo con los operadores de asociatividad igual a operador ( == ) opera de izquierda a derecha, lo que significa asociatividad de igual operador ( == ) es de izquierda a derecha.

Expresión a == b == c es en realidad (a == b) c == , ver cómo la expresión (a == b) c == evalúa?

  • (a == b) será comparado primera y return ya sea 1 (true) o 0 (false).
  • Luego valor de la variable c será comparado con el resultado de (a == b) .

Considere el siguiente programa

#include <stdio.h>
int main(){
int a,b,c;
a=b=c=100;
if(a==b==c)
printf("True...n");
else
printf("False...n");
return 0;
}

salida

False...

Cómo salida es “falso …”?

Ver el programa, los valores de un , b y c es 100 y que están pensando cómo condición es falsa aquí y qué salida es “falso …” ?

La expresión es a == b == c que se evalúa como (a == b) == c ahora lo que será el resultado?

  • El resultado de (a == b) es 1 (es decir, verdadera).
  • Y (1) == c será 0 (es decir, falsa) porque el valor de c es 100 y 100 es igual a no 1 .


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *