[Linguaggio C] spiegazioni su scanf

di Anonimizzato26859 il
4 risposte
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

  • L'hai scritta tu la scanf? Cosa.non comprendi?
  • oregon ha scritto:


    L'hai scritta tu la scanf? Cosa.non comprendi?
    si la scanf l'ho scritta io (sono andato un po' a tentativi).
    semplicemente non capisco cosa voglia dire quel '\n' prima del "%f%*c".
  • Grazie mille gentilissimo
Devi accedere o registrarti per scrivere nel forum
4 risposte