1. A meno che in_line non sia inizializzato in qualche maniera altrove, stai leggendo una stringa da tastiera dentro ad un puntatore non inizializzato, il che significa che stai scrivendo in una locazione "casuale" di memoria; il fatto che il programma non vada in crash è pura fortuna. Dovresti fare:
codice:
char in_line[500];
fgets(in_line,sizeof(in_line),stdin);
2. strtok come secondo parametro riceve il carattere (char) delimitatore, mentre tu gli stai passando una stringa (const char *); il warning in questione ti sta dicendo che, tramite conversione implicita, " " (=puntatore a char) decade in intero (=la locazione di memoria in questione), dato che char (il tipo destinazione) è di tipo integrale. La soluzione è passare non una stringa, ma un char come strtok si aspetta:
codice:
s1 = strtok(in_line, ' ');
Nota gli apici singoli: ' ' è il singolo char relativo allo spazio, " " è una stringa (=array di char terminato da carattere '\0') contente uno spazio seguito dal carattere terminatore.
Nota comunque che entrambi questi errori sono abbastanza madornali , ti consiglio vivamente di rileggerti il capitolo sulle stringhe del tuo libro di C o C++.