Un saluto a tutti mi sapete dire il perchè se faccio questa funzione:

Codice PHP:
char line[] = "NOT ( battery AND DC ) ;"
char *ptr line;
char field[2000];
int n;
while ( 
sscanf(ptr"%s%n"field, &n) == )
    {
    
printf("field = %s\n"field);
    
ptr ptr 1;
        if ( *
ptr == ';' )
        {
            break;
        }
    } 
Funziona perfettamente, nel senso che riesco a visualizzare/parsare tutte le singole parole immesse fino al ";".

Mentre se la char line la faccio inserire dall'utente, cosi:

Codice PHP:
char line[2000];
printf("Scrivi la frase termina con un \" ;\". Esempio: NOT ( battery AND DC ) ;\n");
scanf("%s",line);
char *ptr line;
char field[2000];
int n;
while ( 
sscanf(ptr"%s%n"field, &n) == )
    {
    
printf("field = %s\n"field);
    
ptr ptr 1;
        if ( *
ptr == ';' )
        {
            break;
        }
    } 
Non funziona, nel senso che in output ottengo la prima parola (NOT), come seconda parola un carattere ascii a casaccio e poi esce

Grazie a tutti