Estoy trabajando un algoritmo de búsqueda por profundidad, pero cunado compilo no me correo el programa e identifique que la linea q me esta causando el error es esta:
    
Código C:
Ver original- strcpy(- cualquier_lugar ,- vuelos [- encuentra_pos ]- . hacia); //--> AQUI SE TOTEA
 
Les dejo todo el código, gracias    
Código C:
Ver original- #define MAX 100 
-   
- /*Estructura de la Base de Datos*/ 
- struct VL{ 
-   char desde[20]; 
-   char hacia[20];      
-   int distancia; 
-   char visitado; 
- }; 
-   
- struct VL vuelos[MAX]; /*Arreglo que contiene la estructura descrita anteriormente*/ 
-   
- int pos_ult=0; /*Ultimo elemento de la BBDD*/ 
- int encuentra_pos=0; /*Indice de la Busqueda*/ 
-   
- void inicia(){ 
-      declara_vuelo("Nueva York","Chicago",1000); 
-      declara_vuelo("Chicago","Denver",1000); 
-      declara_vuelo("Nueva York","Toronto",800); 
-      declara_vuelo("Toronto","Calgary",1500); 
-      declara_vuelo("Toronto","Los Angeles",1800); 
-      declara_vuelo("Toronto","Chicago",500); 
-      declara_vuelo("Denver","Urbana",1000); 
-      declara_vuelo("Denver","Houston",1500); 
-      declara_vuelo("Houston","Los Angeles",1000); 
-      declara_vuelo("Denver","Los Angeles",1000); 
- } 
- /*Llenamos la BBDD*/ 
- void declara_vuelo(desde,hacia,dist) 
- char *desde,*hacia; 
- int dist; 
- { 
-   if(pos_ult<MAX){ 
-     strcpy(- vuelos [- pos_ult ]- . desde,- desde );
 
-     strcpy(- vuelos [- pos_ult ]- . hacia,- hacia );
 
-     vuelos[pos_ult].distancia=dist; 
-     vuelos[pos_ult].visitado=0; 
-     pos_ult++; 
-   } 
-   else printf("Base de Datos LLena \n"); 
- } 
-   
- /* 
- * Esta funcion calcula si hay una ruta directa en tre dos ciudades, 
- * si hay conexion devuelve la distacia, sino devuelve 0 (cero) 
- */ 
-   
- int unidas(desde,hacia) 
- char *desde,*hacia; 
- { 
-     register int t; 
-     //  La palabra clave register es un especificador de tipo de almacenamiento 
-     // ("storage class specifier"); se utiliza para indicar al compilador que  
-     // ciertas variables (normalmente del tipo int y char) deben ser almacenadas 
-     // en los registros del procesador en lugar de la pila 
-     for(t=pos_ult-1; t>-1; t--) 
-      if(!strcmp(- vuelos [- t ]- . desde,- desde )&&!strcmp(- vuelos [- t ]- . hacia,- hacia )) return-  vuelos [- t ]- . distancia;
 
-      
-     return 0; 
- } 
-   
- /* 
- * Esta Funcion busca si la ciudad desde tiene conexion con cualquier ciudad 
- * si la encuentra retornara la distacia y sino retornara cero 
- */ 
- int encuentra(desde,cualquier_lugar) 
- char *desde, *cualquier_lugar; 
- { 
-  encuentra_pos=0; // Varible Global 
-  while(encuentra_pos<pos_ult){ 
-    if(!strcmp(- vuelos [- encuentra_pos ]- . desde,- desde )&&!- vuelos [- encuentra_pos ]- . visitado){
 
-      strcpy(- cualquier_lugar ,- vuelos [- encuentra_pos ]- . hacia); //--> AQUI SE TOTEA
 
-      printf("%c",- cualquier_lugar [0]);
 
-      printf("%c",- cualquier_lugar [1]);
 
-      printf("%c \n",- cualquier_lugar [2]);
 
-      printf("%c",- vuelos [- encuentra_pos ]- . hacia[0]);
 
-      printf("%c",- vuelos [- encuentra_pos ]- . hacia[1]);
 
-      printf("%c \n",- vuelos [- encuentra_pos ]- . hacia[2]);
 
-      /*vuelos[encuentra_pos].visitado = 1; /*Se Activa*/ 
-      return vuelos[encuentra_pos].distancia;                                                                             
-    } 
-    encuentra_pos++; 
-  } 
-  return 0;                  
- }