Hola
Tengo este programa y no logro entender que es lo que hace un doble uppersand en ambas variables.
Les paso el codigo
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int n1=4;
int n2=5;
if(n1&&n2)
{
printf("Entre");
}
else
{
printf("\nNo entre");
}
return 0;
}
Asi sea poniendo los mismos valores o distintos, siempre pone "Entre", no logro entender que significa if (var1&&var2)
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.
Cita de: 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".
Muchas gracias, pero hay algo que no entiendo, si yo a una variable le pongo un valor negativo pone que entra igualmente.
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
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
Cita de: 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
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.
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.
Cita de: palacio29 en 26 Noviembre 2016, 03:47 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!