मेरे पास निम्नलिखित है
size_t i = 0;
uint32_t k = 0;
printf("i [ %lu ] k [ %u ]\n", i, k);
संकलन करते समय मुझे निम्नलिखित चेतावनी मिली है:
format ‘%lu’ expects type ‘long unsigned int’, but argument has type ‘uint32_t’
जब मैंने स्प्लिंट का उपयोग करके इसे चलाया तो मुझे निम्नलिखित मिला:
Format argument 1 to printf (%u) expects unsigned int gets size_t: k
किसी भी सलाह के लिए बहुत धन्यवाद,
size_t
'जेड' है, जैसा कि अंदर है "%zu"
।
uint32_t
, लेकिन इसमें कमी है size_t
। @ u0b34a0f6ae के उत्तर में दोनों शामिल हैं।
uint32_t
से समर्थन नहीं करता है ; यदि आप उन प्रकारों का उपयोग करना चाहते हैं, तो आपको C89 में अपग्रेड करना चाहिए। एक विस्तार के रूप में, यह संभावना है कि जीसीसी आपको उनका उपयोग करने की अनुमति देता है, लेकिन C89 के पास ऐसा कोई समर्थन नहीं था।<stdint.h>
<inttypes.h>