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

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

De acuerdo con los operadores de asociatividad operador de asignación ( = ) opera de derecha a izquierda, que los medios asociatividad de operador de asignación ( = ) es de derecha a izquierda.

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

  • valor de la variable c será asignado en la variable b primero.
  • Luego valor de la variable b se le asignará en la variable un .

último valor de las variables un y b será igual que el valor de la variable c .

Considere el siguiente programa

#include <stdio.h>
int main(){
int a,b,c;
a=0; b=0; c=100;
printf("Before Multiple Assignent a=%d,b=%d,c=%dn",a,b,c);
//Multiple Assignent
a=b=c;
printf("After Multiple Assignent a=%d,b=%d,c=%dn",a,b,c);
return 0;
}

salida

Before Multiple Assignent a=0,b=0,c=100 
After Multiple Assignent a=100,b=100,c=100

Asignar un valor a múltiples variables del mismo tipo

Mediante el uso de este tipo de expresión que puede asignar fácilmente un valor de múltiples variables de los mismos datos tipo, por ejemplo – si queremos asignar 0 a variables enteras un , b , c y d ; podemos do siguiendo la expresión:

a=b=c=d=0;

Considere el siguiente programa

#include <stdio.h>
int main(){
int a,b,c,d;
a=b=c=d=0;
printf("a=%d, b=%d, c=%d, d=%dn",a,b,c,d);
return 0;
}

salida

a=0, b=0, c=0, d=0


Deja un comentario

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