Foros del Web » Programación para mayores de 30 ;) » C/C++ »

if(condicion)

Estas en el tema de if(condicion) en el foro de C/C++ en Foros del Web. mi duda es: cuando me aparece esto en un programa: int existe; if(existe) tal tal. ese if(existe) que condicion esta mirando. Es decir normalmente yo ...
  #1 (permalink)  
Antiguo 16/01/2008, 12:44
 
Fecha de Ingreso: noviembre-2004
Mensajes: 149
Antigüedad: 20 años
Puntos: 0
if(condicion)

mi duda es:
cuando me aparece esto en un programa:
int existe;
if(existe)
tal tal.

ese if(existe) que condicion esta mirando. Es decir normalmente yo uso o utilizo:
if(variable==1)
sentecnia;
o if(variable!=0 && variable < 0)
sentencia;
pero nunca habia visto un if sin na condicion.
Alguien me ayuda?gracias!
__________________
¨`~*'¤^v-¥-()->»[: "3£ 1NƒîêRNø Nø ê$ UN Må£ £UGåR" :]«<-()-¥-v^¤'*~´¨
  #2 (permalink)  
Antiguo 16/01/2008, 12:54
Avatar de usuariobaneado  
Fecha de Ingreso: diciembre-2007
Mensajes: 402
Antigüedad: 16 años, 11 meses
Puntos: 5
Re: if(condicion)

Muy buena duda.

Me parece que lo que se busca es un resultado lógico. Yo he visto que en existe (como es entero) le ponen el valor de uno o cero, y es fácil intuir que uno es positivo y cero es afirmativo.

También existe el tipo de dato boleano, al que le podemos poner true or false, y de la similar manera como tú expones, solo ponemos dicha variable en el paréntesis (sin compararla con nada) y esperamos un resultado.

Pero que pasaría si se declara una variable pero no se le pone valor
  #3 (permalink)  
Antiguo 16/01/2008, 13:43
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 5 meses
Puntos: 28
Re: if(condicion)

Simple, como acabas de decir si la variable vale cero la condición es falsa en cualquier otro caso es verdadero y eso incluye números negativos, con decimales o cualquier cosa que efectivamente sea diferente de cero.

Y repondiendo concretamente a la pregunta que hace mawster, está comprobando si el contenido de la variable es diferente de cero.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #4 (permalink)  
Antiguo 16/01/2008, 14:52
Avatar de usuariobaneado  
Fecha de Ingreso: diciembre-2007
Mensajes: 402
Antigüedad: 16 años, 11 meses
Puntos: 5
Re: if(condicion)

Ah ok. Si es cero, es falso, si es cualquier otro número, verdadero. Yo pensaba que para que sea verdadero debía de tener el numero uno. He visto algunos códigos que intencionalmente le ponen el uno para que produzca tal efecto.

Y si declaro una variable y no le asigno valor? Eso es nulo
  #5 (permalink)  
Antiguo 16/01/2008, 17:03
 
Fecha de Ingreso: noviembre-2004
Mensajes: 149
Antigüedad: 20 años
Puntos: 0
Re: if(condicion)

segun tengo entendido si se declara una variable y no se le asigna valor, coge un valor aleatoria de la memoria, si no me equivoco, almenos en C que es en lo que utilizo yo.
No entendia que valor se le asiganaba ya que en C no existen los valores boleanos, pero me he dado cuenta mirando el programa con mas detenimiento que tenia una llamada a una funcion, la cual tenia un puntero llamado existe que cogia valor 1 si era cierto y 0 si no lo era xD.
Igalmente gracias porque la repsuesta era buena.
__________________
¨`~*'¤^v-¥-()->»[: "3£ 1NƒîêRNø Nø ê$ UN Må£ £UGåR" :]«<-()-¥-v^¤'*~´¨
  #6 (permalink)  
Antiguo 17/01/2008, 07:06
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 5 meses
Puntos: 28
Re: if(condicion)

No es que sea aleatorio del todo, es que cuado liberas memoria de otros programas los datos que dan almacenados, pero la memoria ya no está reservada, lo cual no quiere decir que no tenga nada adentro. Me explico mejor con un ejemplo:

Supongamos que tu vas a montar una tienda en un centro comercial, conseguiste un local "disponible", pero antes lo ocupada X persona, ahora cuando ves el local por dentro resulta que este tiene un monton de cosas que dejó el anterior dueño. El local estaba libre, pero no vacío, estaba disponible para que tú lo reservaras pero ya tenía "algo".

Lo mismo pasa con la memora, hay muchos lenguajes que se toman el trabajo de "vaciar" el local por ti, es decir, le asignan cero a la variable.

En C no pasa eso, simplemente te reserva la memoria y es responsabilidad del programador inicializar en el valor que considere más adecuado para su aplicación.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.