Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/04/2016, 18:45
braedu555
 
Fecha de Ingreso: febrero-2015
Mensajes: 20
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: ¿Se puede hacer un apuntador estático?

No, tambien me siguio tirando el mismo error, lo hice de la siguiente forma y me funciono:

Código:
char *tokens(char *s1,const  char *s2) ///Una secuencia de llamadas separa la cadena s1 en tokens, separados por caracteres contenidos en la cadena s2.
{
  static char *palabra;
  static int i = 0;
  if (i == 0) ///primera llamada
    palabra = s1;
  else if (i == -1){ ///ultima llamada
    i = 0;
    return NULL;
  }
  char *cadena = (palabra+i);
  	while(*(palabra+i) != '\0' && *(palabra+i) != *s2) ///recorre la cadena hasta encontrar la cadena s2 o el caracter nulo
  	  ++i;
  	if (*(palabra+i) == *s2){ ///si se encontro con la cadena de separacion
  		*(palabra+i) = '\0'; ///convierte el caracter de separacion en caracter nulo
  		++i; ///y recorre subindice
  		return cadena;
  	}
  	else{
      i = -1;
  	  return cadena;
  	}
}
Aunque si inicializo el apuntador estático en su declaración me tira error el devc++, con codeblocks el programa compila y se ejecuta sin problemas, independientemente de si esté o no inicializada en la declaración.
Nose si sera culpa del devc++ o el codeblocks es mas flexible...