2012-08-27 9 views
10

ich zwei Variablen als Eingabe zu nehmen versuche diesen Code-Schnipsel mit: -Formatbezeichner für das Scannen von langen unsigned int

unsigned int i; 

unsigned long int j; 

scanf("%u",i); 

scanf("%lu",j); 

Aber diese führen zu den folgenden Warnungen: -

Warnung: format ' % u 'erwartet ein Argument vom Typ' unsigned int * ', aber Argument 2 hat den Typ' unsigned int '[-Wformat] Warnung: Format'% lu 'erwartet Argument vom Typ' long unsigned int * ', aber Argument 2 hat type 'lang unsigned int' [-W Format] Kann mir jemand erklären, was hier passiert?

Antwort

22

Sie müssen eine führende &, da scanfZeiger zu den Ausgangsparametern hinzufügen. Andernfalls kann es nicht an sie schreiben.

scanf("%lu", &i); 
Verwandte Themen