Warning in c

Frank2000

Nuovo Utente
26
0
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?
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
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).
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili