Error del comstackdor C

Tengo el siguiente progtwig:

#include #include int main(int argc, char *argv[]){ char* number1[100] = {argv[1]}; char* a; char* separate = "/ \n"; int alpha, beta, gamma, delta; int i; a = strtok(number1, separate); printf("%s",a); } 

Cuando lo compilo, me sigue advirtiendo que: “‘char *’ difiere en el nivel de direccionamiento indirecto de ‘int'”, pero todo lo que estoy usando hasta ahora es char *.

El mensaje de error completo es el siguiente:

 ac: In function 'main': ac:9:7: warning: assignment makes pointer from integer without a cast [enabled by default] 

(línea 9: a = strtok(number1, separate); )

¿Alguien puede decirme por qué sucede esto y cómo solucionarlo?

No incluyó string.h , por lo que la función strtok no está declarada. En versiones anteriores del lenguaje C, se permite usar una función que no está declarada (aunque gcc debería producir una (n adicional) advertencia sobre esto, al menos con -Wall ), en cuyo caso se supone el tipo de retorno de la función ser int Así que el comstackdor piensa que strtok devuelve un int y, en consecuencia, le advierte que está intentando asignar ese int a un puntero.

Para solucionar este problema, simplemente agregue la inclusión que falta.

Una vez que haya solucionado esto, el comstackdor se quejará de que el número number1 tiene el tipo incorrecto para ser utilizado con strtok (es una matriz de punteros en lugar de un puntero), pero ese es un problema diferente.

Debería ser:

 char number1[100]; strcpy(number1,argv[1]); 

Además, sin string.h y sin advertencias, asume que strtok () es una función nominal que devuelve un int, por lo tanto, la falta de coincidencia de tipeo.