TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: fastyx2 en 11 de Septiembre de 2007, 20:00:54
-
Amigos : tengo una duda que por ahi es media estupida:
cuando uno hace un if y pone por ej: if ( j > 0 && j < 8 ) que haga X ;
if ( j > 10 && j < 20 ) que haga Y ;
que hace el programa cuando j vale 8 , 9 o 10 ?
desde ya gracias!
-
Hola!
Si no entiendo mal tu codigo, y si no tienes "else", ejecuta las instrucciones a continuacion del segundo if...
Saludos!
-
mi pregunta apunta en realidad a cuando ponemos en el codigo: si x es menor que 10 y despues colocamos y si x es mayor que 10 , en realidad estamos obviando a 10 , ya que menor que 10 es hasta 9 y mayor que 10 es 11 ( en enteros )
si no hay un else que contemple a 10 , el programa puede llegar a dar resultados fallidos?
-
Pues si no hay nada fuera de los if's no hace nada, si quieres contemplar al 10 deberas poner if( j>0 && j<=10 )
si no, trabaja como te dice "aitopes".
Saludos :-)
-
o sea que si la variable pasa por 10 pero no es contemplada en ninguna comparacion , la ignora .
-
Como dicen por ahí... un ordenador no hace lo que tu quieres que haga... hace lo que tu le dices que hagas...
si no contemplas en un if un caso y se escapa del intervalo pues la maquina no hace nada... como tu le estas diciendo...
-
o sea que si la variable pasa por 10 pero no es contemplada en ninguna comparacion , la ignora .
Exacto! Es decir...los "if" no limitan los valores posibles que tiene la variable, solo "desvian" el flujo del programa cuando esta en determinado rango. Si no esta en ese rango pues...el programa continua como si nada.
Saludos!
-
Exacto ariel, el programa salta a la línea que viene después de la llave que cierra el último if
-
Gracias!