Título: No me compila el for en C Publicado por: Rhythmical en 30 Septiembre 2017, 06:43 am Holas a todos, espero que esten bien, mi siguiente problema es que al compilar el programa solamente me muestra lo primero pero lo que son los for lo omite finalizando el programa.
(https://i.imgur.com/PovFmXZ.png) este es el código Código
Espero su ayuda, saludos cordiales. Título: Re: No me compila el for en C Publicado por: biestable en 30 Septiembre 2017, 08:14 am No estoy seguro porque tengo C algo olvidado, pero intenta...
en vez de esto for(int i=0;N<=i;i++) { declara la variable fuera del for, asi: int i; for( i=0; i<=N; i++) { ... } y en el segundo bucle: for( i=0; i<=N; i++) {...} y además supongo que lo de N<=i ¿es un lapsus? y querías poner i<=N ya que de no ser así, en la primera iteración se cumpliría que N es mayor que i (si el usuario ha introducido un valor mayor que 0) y se saldría del bucle Título: Re: No me compila el for en C Publicado por: class_OpenGL en 30 Septiembre 2017, 22:51 pm En tu código tienes la condición "N<=i". Inicialmente, i vale 0 (es lo que has indicado en el for). N vale lo que el usuario haya introducido (en este ejemplo, 2). Entonces, la comparación inicial sería "2<=0". Como puedes ver, eso va a dar false. Por eso no se ejecuta el for.
No estoy seguro porque tengo C algo olvidado, pero intenta... en vez de esto for(int i=0;N<=i;i++) { declara la variable fuera del for, asi: int i; for( i=0; i<=N; i++) { ... } y en el segundo bucle: for( i=0; i<=N; i++) {...} y además supongo que lo de N<=i ¿es un lapsus? y querías poner i<=N ya que de no ser así, en la primera iteración se cumpliría que N es mayor que i (si el usuario ha introducido un valor mayor que 0) y se saldría del bucle Respecto a eso, si que se permite declarar variables dentro del campo de inicialización del for en C (a partir de una versión que no recuerdo) Título: Re: No me compila el for en C Publicado por: JavierScars en 1 Octubre 2017, 04:33 am Lo mas probable es que sea por el standar con el que estas compilando...
Intenta usando Código: -std=c99 O si no Código: --std=gnu99 En cualquier caso el declarar la variable dentro del for esta visto como "mala practica" por muchos (en C, para C++ esta bien) y lo que se recomienda es declarar todo al inicio del programa/función. |