Título: Porque el ciclo no se sigue ejecutado? Publicado por: StrikeOne en 25 Febrero 2012, 19:58 pm Hola, tengo una pregunta:
Código: #include <stdio.h> Porque el programa solo devuelve los Valores iniciales y los finales una vez? Porque el ciclo for no se sigue ejecutando? No se supone que cuando C valga 3, la condicion sera que si 0 && 3 <= 60 ... Entonces .. No deberia seguir ejecutandose el codigo? Gracias! Título: Re: Porque el ciclo no se sigue ejecutado? Publicado por: satu en 25 Febrero 2012, 21:43 pm Hola
Cuando entra al for la primera vez los valores de las variables son: a - 120 b - 1 c - 2 y lo primero que hace es imprimir sus valores (valores iniciales). Después tienes un if que comprueba si a % c == 0, que si supieras lo que significa % sabrías que sí se cumple, entonces entra en el if y al asignar 0 a la variable 'b' deja de cumplirse la condición del for, por lo que sale del for y se imprimen los valores finales. Léete un buen libro de C/C++. Para saber para qué sirve el operador % puedes leer este (http://foro.elhacker.net/programacion_cc/c_linux_explicacion_de_codigo_principiante-t351953.0.html;msg1712823#msg1712823) post. Sería bueno que hicieras una traza con papel y boli de tu programa para que veas la ejecución del programa y dónde entra y tal. Saludos Título: Re: Porque el ciclo no se sigue ejecutado? Publicado por: StrikeOne en 25 Febrero 2012, 23:12 pm Hola Cuando entra al for la primera vez los valores de las variables son: a - 120 b - 1 c - 2 y lo primero que hace es imprimir sus valores (valores iniciales). Después tienes un if que comprueba si a % c == 0, que si supieras lo que significa % sabrías que sí se cumple, entonces entra en el if y al asignar 0 a la variable 'b' deja de cumplirse la condición del for, por lo que sale del for y se imprimen los valores finales. Léete un buen libro de C/C++. Para saber para qué sirve el operador % puedes leer este (http://foro.elhacker.net/programacion_cc/c_linux_explicacion_de_codigo_principiante-t351953.0.html;msg1712823#msg1712823) post. Sería bueno que hicieras una traza con papel y boli de tu programa para que veas la ejecución del programa y dónde entra y tal. Saludos Hola! Gracias por tu respuesta! Sabia lo que hacia el programa, lo unico que pasaba era que tenia un mal concepto de como funcionaba el operador &&. Despues leyendo me entere que al asignar a b el valor de 0, cuando vuelve al for la condicion es falsa y por ende sale de este. Gracias por la explicacion ^^ |