c++ - What does sizeof(int) return in this case? -


  # शामिल हैं & lt; stdio.h & gt; # से & lt में शामिल हैं, conio.h & gt; शून्य मुख्य () {if (sizeof (int) & gt; = - 2) printf ("true"); अन्य प्रिंटफ़ ("गलत"); }  

जब मैं टर्बो सी ++ का उपयोग करते हुए कोड के इस टुकड़े को संकलित करने का प्रयास कर रहा हूं तो यह सत्य के बजाय झूठी लौट रहा है। लेकिन जब मैंने कार्यक्रम के मूल्य को प्रिंट करने की कोशिश की तो वह 2 लौट रहा है।

यह कैसे संभव हो सकता है? जबकि sizeof (int) वापस 2 और हां 2> = - 2 है।

आकार (int) प्रकार std ::

हस्ताक्षरित हस्ताक्षर के साथ हस्ताक्षर की तुलना अजीब परिणाम के कारण होता है क्योंकि हस्ताक्षरित अहस्ताक्षरित में पदोन्नत किया गया है।

आकार_t

  यदि (static_cast और lt; int & gt; (sizeof (int)) gt2 = /)  

यदि आप यदि ((int) sizeof (int) & gt; = -2) संकलित करने पर सी संकलक

  पर काम कर रहा है उदाहरण के लिए, कुछ चेतावनी झंडे  -Wall  के साथ कोड को हस्ताक्षरित / अहस्ताक्षरित तुलना के बारे में संभवतः चेतावनी देनी चाहिए (यदि आप चेतावनियों की अनदेखी नहीं कर रहे हैं) 


Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

asp.net mvc - How to attach sql database to a javascript graph -

c# - How to know the number of Threads created and limit the Tasks accordingly -