[Linguaggio C] spiegazioni su scanf

di il
4 risposte

[Linguaggio C] spiegazioni su scanf

Ciao a tutti,
ormai è quasi un anno che programmo, nonostante questo incappo ancora in cose "nuove" sopratutto in sede di esercizi per l'università .
uno di questi esercizi mi richiedeva di prendere in input una matrice in un modo che fino ad ora non avevo mai visto:
-inserire la dimensione (ad esempio 3)
-e invece che inserire i numeri seguiti dal tasto invio, inserire una vera e propria matrice, mi spiego meglio:
mi chiedeva di inserire sul terminale un input di questo tipo:
0 7 7
7 0 2
7 2 0

dopo vari tentativi sono arrivato a questo tipo format per lo scanf:

for(int i = 0; i < dim; i++) {
        for(int j = 0; j < dim; j++) {
            if (scanf("\n%f%*c", &matrix[i][j]) != 1) { //se l'input non è corretto...
                printf("L’input non è corretto.\n"); //...stampo un messaggio di errore...
                exit(1); //...ed esco dal programma 
            }
        }
    }
qualcuno però potrebbe spiegarmi che cosa significa precisamente questo tipo di format?
ho sempre visto variabili precedute da uno spazio ma mai da un '\n'.
inoltre visto che la mia domanda è a puro scopo informativo, mi fareste un favore immenso se mi potreste linkare qualche pagina che ne parla in modo chiaro, sono curioso .
grazie in anticipo a tutti

4 Risposte

Devi accedere o registrarti per scrivere nel forum
4 risposte