Estimados,
Cometí un error en el programa grises1.c que di en el teórico. En concreto puse:
int len = strlen(argv[1]+1);
nombre = (char *)malloc(len*sizeof(char));
strcpy(nombre,argv[1]);
De manera incorrecta puse la suma del valor 1 dentro del paréntesis del strlen y eso es un error. Strlen() espera como argumento una cadena de caracteres de la cual devuelve el largo. Al poner argv[1]+1 estoy sumando una cadena de caracteres con un int y no es correcto.
He subido en clase 5 y clase 6 el nuevo archivo grises1.c que tiene la instrucción correcta, es decir:
int len = strlen(argv[1])+1;
nombre = (char *)malloc(len*sizeof(char));
strcpy(nombre,argv[1]);
gregory