चार्ल्स बेली का जवाब सही है। C ++ मानक से सटीक शब्दांकन (/4.7 / 4) है: "यदि स्रोत प्रकार बूल है, तो मान झूठा शून्य में परिवर्तित हो जाता है और मान सत्य में परिवर्तित हो जाता है।"
संपादित करें: मैं देख रहा हूं कि उसने संदर्भ जोड़ दिया है - मैं इसे शीघ्र ही हटा दूंगा, अगर मैं विचलित नहीं होता और भूल जाता हूं ...
Edit2: फिर से, यह संभवतः ध्यान देने योग्य है कि जबकि बूलियन मान हमेशा शून्य या एक में परिवर्तित होते हैं, कई फ़ंक्शन (विशेष रूप से सी मानक पुस्तकालय से) रिटर्न मान "मूल रूप से बूलियन" होते हैं, लेकिन int
एस के रूप में प्रतिनिधित्व किया जाता है। आम तौर पर केवल शून्य को शून्य या गैर-शून्य को इंगित करने के लिए सही होना आवश्यक है। उदाहरण के लिए, यह * कार्य <ctype.h>
केवल शून्य या गैर-शून्य की आवश्यकता है, जरूरी नहीं कि शून्य या एक हो।
यदि आप ऐसा करते हैं bool
, तो शून्य गलत और गैर-शून्य को सही में बदल देगा (जैसा कि आप अपेक्षा करेंगे)।