2012-07-22 12 views
5

संभव डुप्लिकेट के बीच का अंतर है:
Difference between format specifiers %i and %d in printfक्या printf ("% i") और printf ("% d")

मैं सिर्फ संदर्भ की जाँच की, इसके बारे में दोनों का कहना है वे हस्ताक्षरित पूर्णांक इंगित करते हैं। मैंने सोचा कि कुछ अंतर होना चाहिए

+0

कोई नहीं ........... – Mysticial

+0

शायद इतिहास का एक सा नहीं है; मुझे नहीं पता – chris

+1

@ paulsm4 द्वारा उल्लिखित SO डुप्लिकेट है। C12 मानक दस्तावेज़ से उद्धृत , खंड 7.19.6.1: "8. रूपांतरण विनिर्देशक और उनके अर्थ हैं: डी, मैं int तर्क शैली [-] dddd में हस्ताक्षरित दशमलव में परिवर्तित कर दिया गया है। परिशुद्धता निर्दिष्ट करता है प्रदर्शित होने वाले अंकों की न्यूनतम संख्या; यदि मूल्य को परिवर्तित किया जा सकता है तो कम अंकों में इसका प्रतिनिधित्व किया जा सकता है, इसे प्रमुख शून्य के साथ विस्तारित किया जाता है। डिफ़ॉल्ट परिशुद्धता 1 है। शून्य की सटीकता के साथ शून्य मान को परिवर्तित करने का परिणाम कोई वर्ण नहीं है। " दूसरे शब्दों में, उनका इलाज समान होता है। –

उत्तर

5

कोई फर्क नहीं पड़ता।

C99 मानक दस्तावेज़, खंड 7.19.6.1 से:

घ, मैं

पूर्णांक तर्क में शैली पर हस्ताक्षर किए दशमलव में बदल जाती है [-] dddd। परिशुद्धता प्रदर्शित होने के लिए अंकों की न्यूनतम संख्या निर्दिष्ट करता है; यदि परिवर्तित होने वाला मान कम अंक में प्रदर्शित किया जा सकता है, तो यह अग्रणी शून्य के साथ विस्तारित है। डिफ़ॉल्ट परिशुद्धता 1. है शून्य के एक परिशुद्धता के साथ एक शून्य मान परिवर्तित करने का परिणाम नहीं वर्ण