Warning in c

Pubblicità

Frank2000

Nuovo Utente
Messaggi
26
Reazioni
0
Punteggio
21
Salve, ho un piccolo dubbio. Ho fatto questo piccolo programmino per esercitarmi un pò:
C:
#include <stdio.h>

int main(void)
{
    int vettore[5];
    int i;


    for(i=0;i<5;i++)
    {
        printf("\nInserisci l'elemento numero %d :  ",i+1);
        scanf("%d",&vettore[i]);
    }
    printf("\nEcco il vettore ricavato:\n");
    for(i=0;i<5;i++)
        printf("\nelemento %d: %d\n",i+1,vettore[i]);
    
    printf("\n\n\n--------------------------------------------------\n\n\n");
        printf("Ora cambiamo il primo elemento del vettore : era %d, ora diventa :   ",vettore[0]);
    scanf("%d",&vettore[0]);

    printf("\nEcco il vettore aggiornato:\n");
    for(i=0;i<5;i++)
        printf("\nelemento %d: %d\n",i+1,vettore[i]);

return(0);
}

Mandandolo in esecuzione, non ci sono problemi, il programma funziona ma compaiono 2 warning uguali, 1 per ogni scanf :

vettore.c:12:6: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&vettore);
^~~~~~~~~~~~~~~~~~~~~~~
vettore.c:20:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&vettore[0]);

Cosa significano, e c'è un modo per "risolverli" così da non farli comparire?
 
Si tratta del valore di ritorno della scanf().
Se non ti serve sapere se fallisce, puoi ignorarlo.

Per fare una prova: stampa il valore di ritorno della scanf() dopo ogni input: prova ad inserire un numero, e vedrai che verrà restituito 1 (numero di caratteri letti). Se inserisci un carattere vedrai che verrà restituito 0, ovvero indica un fallimento (non ha letto caratteri).
 
Pubblicità
Pubblicità
Indietro
Top