Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: palacio29 en 14 Febrero 2017, 20:58 PM

Título: Porque el resultado de este codigo siempre es verdadero?
Publicado por: palacio29 en 14 Febrero 2017, 20:58 PM
Hola

Estoy analizando el siguiente codigo

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a=5,b=6,c=8;

    if((a || (b&&c)) == ((a&&b) || (a&&c)))
    {
        printf("Verdadero");
    }
    else
    {
        printf("Falso");
    }


    return 0;
}


Basicamente lo que no entiendo es que si tengo dos variables

A=5 y B=6

Y hago A&&B ...El resultado siempre da 1.
y si hago A || b ....El resultado siempre da 1.

El mismo resultado sucede si a y b son iguales.
Título: Re: Porque el resultado de este codigo siempre es verdadero?
Publicado por: ivancea96 en 14 Febrero 2017, 21:35 PM
&& y || trabajan como si fuera lógica booleana. true && true == true.
Cualquier número que sea diferente a 0, será true. Si es 0, será false. Así que ahi tienes el msiterio.

A = 5; B = 6
A && B -> true && true -> true -> 1