Cita:
Iniciado por Eternal Idol Asi no funciona ni por casualidad.
Tanto mi compilador (Lcc-win32) como Splint no emitieron ningun mensaje de error/advertencia y el programa se compila y ejecuta correctamente, asi que por lo menos funciona por casualidad.
Cita:
Iniciado por Eternal Idol No solo no se puede asignar una cadena asi como asi (para eso estan las funciones de cadenas de C)
Estas en lo correcto pero lo que yo indique en el mensaje anterior no es una asignacion de cadena, inicializar un
puntero utilizando una
literal de cadena es perfectamente valido:
Código:
char *pac;
pac = "Hola, mundo"; /* valido */
char array[100];
array = "Hola, mundo"; /* invalido */
Cita:
Iniciado por Eternal Idol sino que el buffer estaria apuntando a cualquier lado
En el caso que mencione unas cuantas lineas arriba la variable 'pac' tiene como valor la direccion de memoria del primer caracter de la literal "Hola, mundo". Lo mismo se aplica a la variable 'archi' del programa original.
Un saludo