Re: [escepticos] RE Errores de programación (ERA Clones poco parecidos)

Jorge Frias jorgejfrias en gmail.com
Mie Mayo 7 23:49:13 WEST 2008


El día 7 de mayo de 2008 21:39, Eloy Anguiano Rey
<eloy.anguiano en gmail.com> escribió:
>  Mi programa es perfecto pero depende de unas librerías que interaccionan
>  con un sistema operativo y nadie puede asegurar que todos los elementos
>  que interactúan en este programa sean completamente correctos.

Bueno, así sin probarlo en máquina, podíamos mirar qué pasaría si se
le dan como dato un puntero a dirección prohibida, que no existe o ni
siquiera se ha reservado memoria. El lenguaje C permite jugar con los
punteros y hacer lo que en otros lenguajes sería una "barbaridad". O
bien qué ocurriría si la cadena apunta a un lugar de memoria que está
siendo modificada o borrada en ese momento por otro subprograma que
corre a la vez.

Por cierto, ¿Dónde verifica tu programa que la cadena no esté vacía?
hace mucho que no le doy al C, pero creo si la cadena está vacía, te
da 0, y si da error puede que -1, así que el bucle siguiente creo que
no se ejecutaría:

 for (i=0; i < a; ++i)
   if(argv[1][i]<'0' || argv[1][i]>'9')
{
blablabla
}

y entonces no sé cómo reaccionaría atol


Más información sobre la lista de distribución Escepticos