2012-08-27 23 views
10

मैं इस कोड स्निपेट का उपयोग कर इनपुट के रूप में दो चर लेने के लिए कोशिश कर रहा हूँ: -स्वरूप विनिर्देशक लंबे अहस्ताक्षरित int

unsigned int i; 

unsigned long int j; 

scanf("%u",i); 

scanf("%lu",j); 

लेकिन निम्न चेतावनी को यह दे वृद्धि: -

चेतावनी: प्रारूप ' % u 'प्रकार' unsigned int * 'के तर्क की अपेक्षा करता है, लेकिन तर्क 2 में' unsigned int 'टाइप किया गया है [-Wformat] चेतावनी: प्रारूप'% lu 'प्रकार' लंबे हस्ताक्षरित int * 'के तर्क की अपेक्षा करता है, लेकिन तर्क 2 प्रकार है 'लंबे हस्ताक्षर किए गए int' [-Wformat] क्या कोई मुझे बता सकता है कि यहां क्या हो रहा है?

उत्तर

22

आप scanfसंकेत उत्पादन मानकों के लेता है के रूप में एक अग्रणी & जोड़ने की जरूरत है। अन्यथा, यह उन्हें नहीं लिख सकता है।

scanf("%lu", &i);