¿Qué pasa si en un if usamos un operador de asignación?
Publicado por María (1 intervención) el 09/12/2017 20:34:03
Buenas a todos!!
Esta es mi primera duda en este foro. Estoy iniciándome en el mundillo de la programación debido a la carrera que estudio y por pura devoción. Mi duda es la misma que la del título. ¿Qué ocurre si escribimos un operador de asignación en un if?
Por ejemplo en este sencillo código, no se imprime nada al compilar y ejecutar. Sin embargo en otros casos, el primer if siempre se cumple, ya que sean o no iguales los valores, la primera variable adopta inmediatamente el valor de la otra, y por tanto ejecuta las sentencias correspondientes.
Muchas gracias :))
Esta es mi primera duda en este foro. Estoy iniciándome en el mundillo de la programación debido a la carrera que estudio y por pura devoción. Mi duda es la misma que la del título. ¿Qué ocurre si escribimos un operador de asignación en un if?
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
int main() {
int var1 = 0;
int var2 = 0;
int *p1 = &var1;
int *p2 = &var2;
if(*p1 = var2)
printf("var1 y var2 son iguales");
else if ( *p2 != var1)
printf("var1 y var2 tienen valores distintos");
return 0;
}
Por ejemplo en este sencillo código, no se imprime nada al compilar y ejecutar. Sin embargo en otros casos, el primer if siempre se cumple, ya que sean o no iguales los valores, la primera variable adopta inmediatamente el valor de la otra, y por tanto ejecuta las sentencias correspondientes.
Muchas gracias :))
Valora esta pregunta
0