Código de bucle for no se ejecuta según la condición

publicado por: Anonymous

Tengo una duda con el bucle for, ¿por qué este código no me entrega resultados? No se ejecuta mi programa, que debe de iniciar un conteo en 10 y acabar en 0.

Éste es el código:

#include<stdio.h>

int main() 
{
   int i=0;

   for (i=10;i<=0;i--)

    printf(" %d ",i);

}

Sin embargo, investigando un poco encontré lo siguiente, que sí funciona a la perfección.

#include<stdio.h>

int main() 
{
   signed int i=0;

  for (i=10;i>-1;i--)

  printf(" %d ",i);

}

Mi duda es: ¿por qué el primer código no funciona y el segundo sí?, ¿por qué C no entiende el parámetro <=0?

solución

Básicamente son las condiciones que tienes, tendrías que tener mas cuidado al crear tus algoritmos.

En El Primero:

for(i=10;i<=0;i--)

tu condición se ve de esta forma for(i=10;10<=0;i--) condición que si notas es falsa(false) desde el inicio, lo que deberías de hacer es

for(i=10;i>=0;i--)

que se ve como: for(i=10;10>=0;i--) lo cual es verdadero(true)

En El Segundo

for (i=10;i>-1;i--)

tu condición llega a ser verdadera y eso es todo.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *