Aquí va un ejemplo interesante de lo importante que es controlar meticulosamente las cadenas de caracteres (char *) cuando programamos en C. Os presento un código con varios errores de bulto en tan solo 22 lineas:
# include
# include
# include
# include
# define BUFFER_SIZE 4
int main(int argc, char **argv)
{
char buffer[BUFFER_SIZE];
int a = 2;
int b = 3;
int res = 0;
printf(”%d\n”, res);
strcpy(buffer, argv[1]);
res = a + b;
printf(”%d\n”, res);
printf(”Nos vamos…\n”);
return res;
}
Compilemos este programita plagado de bugs:
% gcc -Wall pr_error.c -o pr_error
Ahora ejecutemos el programa de diversas formas:
% ./pr_error
Sigue aquí.
Saludos
Escrito por Juanjo Escribano a las Junio 1, 2007 03:31 PM