Ostrzeżenie: Zignorowanie zwracanej wartości


(Marco700) #1

Witam,

Mam takie pytanko. Taki banalny kod.

#include 


int main()

{

    int a;


    scanf("%d", &a);

    printf("%d", a);


    return 0;

}

Informacje o kompilacji:

prog.c: In function ‘main’:

prog.c:7: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result

Link do Ideone: https://ideone.com/FwpuA

Co tutaj jest nie tak? Pytam o to ponieważ już przy dwóch programach wywala mi takie ostrzeżenie, a robię sobie zadania na SPOJu i podejrzewam iż przez to nie są one przyjmowane, mimo że zwracają poprawne wyniki. Powyższy program jak widać też sypie ostrzeżeniem.


(Sawyer47) #2

Scanf zwraca wynik, a ty go nigdzie nie zapisujesz ani nie sprawdzasz.


(Marco700) #3

Ok, trochę potestowałem i rozumiem o co biega mniej więcej :D.


([alex]) #4

include

int main()

{

int a;

if(scanf("%d", &a)==1) printf("%d", a);

else printf("Miałeś wprowadzić liczbę !");

return 0;

}