"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > C ++ और C में, क्या यह हमेशा 0 या 1 है जब एक पूर्णांक में परिवर्तित किया जाता है?

C ++ और C में, क्या यह हमेशा 0 या 1 है जब एक पूर्णांक में परिवर्तित किया जाता है?

2025-04-13 को पोस्ट किया गया
ब्राउज़ करें:365

] हालांकि, पर्दे के पीछे, इन मूल्यों को अक्सर पूर्णांक के रूप में संग्रहीत किया जाता है। यह सवाल उठाता है: जब एक बूल को एक इंट में परिवर्तित किया जाता है, तो क्या परिणाम 0 या 1 होने की गारंटी है? सी स्टैंडर्ड (.54.5/4) के अनुसार, "टाइप बूल के एक rvalue को टाइप इंट के एक rvalue में परिवर्तित किया जा सकता है, जिसमें झूठे शून्य हो जाते हैं और सही बन जाता है।" इसका मतलब यह है कि जब एक बूल को C में एक int में परिवर्तित किया जाता है, तो परिणाम हमेशा 0 या 1 होगा। C मानक (.36.3.1.2/1) के अनुसार, "जब किसी भी स्केलर मान को _bool में परिवर्तित किया जाता है, तो परिणाम 0 है यदि मान 0 के बराबर तुलना करता है; अन्यथा, परिणाम 1. है 1." इसका तात्पर्य यह है कि जब एक बूल (c में _bool के रूप में प्रतिनिधित्व किया जाता है) को एक int में परिवर्तित किया जाता है, तो परिणाम फिर से 0 या 1 होगा। बूल बी = ए; int c = 3 b; // 4

Is Bool Conversion to Int Always 0 or 1 in C   and C? 
इस उदाहरण में, बूल वैरिएबल बी को int a (जो 2 है) के मान के लिए आरंभीकृत किया गया है, लेकिन चूंकि बूल मान 0 या 1 के रूप में संग्रहीत किए जाते हैं, b 1 हो जाता है। 1 हो जाता है। C में 3 परिणामों के बाद के जोड़ को 4 मान लिया जाता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3