[C con Clase] ayuda amigos con operador lógico || ó
Programante
programante en gmail.com
Vie Sep 7 22:53:28 CEST 2007
Leonel Florín Sellé escribió:
> amigos, estoy trabajando sobre c/c++ en linux, pero la verdad que he
> tenido algunos tropiesos y la verdad que me estoy desanimando, pero
> tengo que se guir a delante, por lo que les digo.
>
> mi problema es,
>
> estoy utilando la estructura if/else evaluando una doble condición
> con el operador lógico o || y la condición es esta
>
> if (x>=90 || x<=100) printf("Si");
>
> y cuando ejecuto el programa me ejecuta la acción se cumpla o no la
> condición, se le paso a x un número fuera de este rango, me da la
> condicion como verdadera, y la verdad que no se que pasa, y trato de
> depurar el programa pero esto se vuelve loco, uso el kdevelop.
>
¿Cómo generas un número fuera de rango?
Si la primera condición es falsa (x < 90) entonces la segunda es
verdadera (x será menor que 100).
Si la segunda condición es falsa (x > 100) entonces la primera será
verdadera (x será mayor que 90).
Has creado una ontología.
Creo que lo que querías hacer es
if (x>=90 && x<=100) printf("Si");
Y para evitar problemas de "no me evalua la condición como quiero"
sugiero usar siempre paréntesis:
if ((x>=90) && (x<=100)) printf("Si");
> en el depurador evaluo la variable x y inspecciono la condición
> (x>=90 || x<=100), y no puedo ejecutar el programa línea por linea,
> amigos que pasa, ayudenme espero respuesta.
>
No puedes evaluar línea por línea porque no son distintas líneas.
Un saludo
Más información sobre la lista de distribución Cconclase