Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/10/2010, 05:22
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: No producir desbordamiento con tipo int.

Conviene que indiques qué compilador y sistema operativo utilizas, puede ayudar a precisar mejor la respuesta. En este caso, ya que citas que con 99999 sobrepasas el límite, parece que sea uno de 16 bits.

El archivo limits.h contiene solamente definiciones para los máximos valores permitidos para los diversos tipos de enteros. Edita ese archivo (lo normal es que esté en un subdirectorio llamado include dentro del directorio donde tengas instalado el compilador), así verás cuáles son los límites que te da tu compilador y cómo los llama.

La manera más fácil de verificar esos desbordamientos al introducir valores enteros es utilizando tipos del rango superior y comparando con el máximo del tipo que quieres utilizar, por ejemplo, para un short int (16 bits), el valor máximo es 32768. Lees un valor en un long int (32 bits) y comparas con el valor SHRT_MAX (nombre más probable, comprueba en tu compilador).