Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: palacio29 en 26 Noviembre 2016, 01:48 am



Título: Que significa un && entre dos variables en C?
Publicado por: palacio29 en 26 Noviembre 2016, 01:48 am
Hola

Tengo este programa y no logro entender que es lo que hace un doble uppersand en ambas variables.
Les paso el codigo

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4.  
  5.  
  6. int main()
  7. {
  8.  
  9. int n1=4;
  10. int n2=5;
  11.  
  12. if(n1&&n2)
  13. {
  14.    printf("Entre");
  15. }
  16. else
  17. {
  18.    printf("\nNo entre");
  19. }
  20.  
  21.  
  22. return 0;
  23. }
  24.  

Asi sea poniendo los mismos valores o distintos, siempre pone "Entre", no logro entender que significa if (var1&&var2)


Título: Re: Que significa un && entre dos variables en C?
Publicado por: MRx86 en 26 Noviembre 2016, 01:57 am
Hola, ese "&&" es un AND logico, y ya que todo numero mayor a cero se toma como un valor verdadero, por eso te pone "Entre". Ponle a una de las variables un valor cero para que veas como
dice "No Entre".

Si se hace un pseudo codigo seria algo asi.

Si (verdadero Y verdadero)
 Imprime "entre"

Sino
 Inprime "no entre"

Vas entendiendo? Lee "the C programming language" de dennis ritchie (o su version en español), es una buena introduccion al lenguaje.


Título: Re: Que significa un && entre dos variables en C?
Publicado por: palacio29 en 26 Noviembre 2016, 02:02 am
Hola, ese "&&" es un AND logico, y ya que todo numero mayor a cero se toma como un valor verdadero, por eso te pone "Entre". Ponle a una de las variables un valor cero para que veas como dice "No Entre".

Muchas gracias, pero hay algo que no entiendo, si yo a una variable le pongo un valor negativo pone que entra igualmente.


Título: Re: Que significa un && entre dos variables en C?
Publicado por: Borito30 en 26 Noviembre 2016, 02:09 am
cual es la condicion, la condiciones es que haya dos enteros no pones ninguna restriccion luego te entrara ya que  no importa el valor de estos dos enteros ahora si le pones una condicion como que uno o ambos tengan un determinado valor puede que no entre


Título: Re: Que significa un && entre dos variables en C?
Publicado por: MRx86 en 26 Noviembre 2016, 02:12 am
Es que un valor negativo no es un valor falso, solo cero, esta linea de tu codigo:

int n1=4;

Cambiala por:

int n1=0;

Y vez que pasa..

Saludos


Título: Re: Que significa un && entre dos variables en C?
Publicado por: palacio29 en 26 Noviembre 2016, 03:47 am
Es que un valor negativo no es un valor falso, solo cero, esta linea de tu codigo:

int n1=4;

Cambiala por:

int n1=0;

Y vez que pasa..

Saludos

Muchas gracias!,ahora si entendi, Tenes idea donde puedo leer bien esto?..Porque  estoy haciendo finales de una materia de informatica y suelen aparecer este tipo de cosas raras y por mas que lea operadores logicos, no veo donde explican estas cosas por ningun lado.


Título: Re: Que significa un && entre dos variables en C?
Publicado por: MAFUS en 26 Noviembre 2016, 10:11 am
Esto es básico de C: todo valor diferente a 0 se considera cierto para operadores e instrucciones lógicas. Todo valor igual a 0 se considera falso para operadores e instrucciones lógicas.


Título: Re: Que significa un && entre dos variables en C?
Publicado por: MRx86 en 27 Noviembre 2016, 06:19 am
Muchas gracias!,ahora si entendi, Tenes idea donde puedo leer bien esto?..Porque  estoy haciendo finales de una materia de informatica y suelen aparecer este tipo de cosas raras y por mas que lea operadores logicos, no veo donde explican estas cosas por ningun lado.

Aqui tienes el libro de ritchie:

http://www.tecnica1lomas.com.ar/tutoriales/lenguaje_C.pdf

Recuerda que en google puedes encontrar bastante informacion de C, ya que es un lenguaje algo popular.

Saludos!