Por que esse script trava o terminal? Seria uma limitação na linguagem?

 

O problema ocorre quando na variável b é colocado um valor acima de 29.99. De 1 até 29.99 funciona que é uma beleza


int OnInit()

  {

  

   double a = 19;

   double b = 29.99;

   for (double c = 5;(c*3)*10 < (a*10)+20+(b*c);c++){


   }

   

   Print("Ok");

   

   return(INIT_SUCCEEDED);      

  }

 
Samuel Almeida:


Olá, 

questão de lógica, se o laço do for só finaliza quando expressão2 for falsa, então a partir de b=30 a expressão  (c*3)*10 < (a*10)+20+(b*c) é sempre verdadeira, consequentemente o laço do for não finaliza.

 
Rogerio Giannetti Torres:

Olá, 

questão de lógica, se o laço do for só finaliza quando expressão2 for falsa, então a partir de b=30 a expressão  (c*3)*10 < (a*10)+20+(b*c) é sempre verdadeira, consequentemente o laço do for não finaliza.

Verdade rsrs. Obrigado Rogerio