मैंने मानक खोजा है लेकिन उल्लेख किए गए हिस्से को नोटिस नहीं किया है।! 0 C89 में 1 होने की गारंटी है?
क्या यह सिर्फ "कुछ भी 0" और 1 है या यह संकलक-निर्भर है?
मैंने मानक खोजा है लेकिन उल्लेख किए गए हिस्से को नोटिस नहीं किया है।! 0 C89 में 1 होने की गारंटी है?
क्या यह सिर्फ "कुछ भी 0" और 1 है या यह संकलक-निर्भर है?
तार्किक निषेध ऑपरेटर
!
का परिणाम 0 अगर इसकी संकार्य के मूल्य में 0, 1 करने के लिए असमान तुलना अगर इसकी संकार्य के मूल्य में 0. के बराबर तुलना परिणाम टाइपint
है।
सी 8 9/सी 0 9, सी 99, और सी 11 में दिखाई देता है।
क्या आप इस लिंक में जोड़ सकते हैं जहां आपको यह मिला? – AustinWBryan
http://port70.net/~nsz/c/c89/c89-draft.html#3.3.3.3 –
बहुत बहुत धन्यवाद! – susdu
जैसे ही हॉब्स ने अपने उत्तर में कहा, section 6.5.3.3.5 of the C standard बताता है कि !0
1
का मूल्यांकन करता है।
इसके अतिरिक्त, यह व्यवहार !!x
अभिव्यक्ति के साथ एक बूलियन मान (यानी 0
या 1
) के पूर्णांक को सामान्य करने के लिए उपयोग किया जा सकता है।
x
= 0
, !!x
= !!0
= !1
= 0
।x
! = 0
, !x
= 0
, तो !!x
= !0
= 1
।
निर्मित ऑपरेटरों कि उपज तार्किक बूलियन परिणाम ('<', '>', '<=', '> =', '' ==, '! =', '' &&, '' ||, '!') हमेशा वास्तव में उपज '0' या' 1' टाइप प्रकार 'int'। कुछ लाइब्रेरी फ़ंक्शंस, जैसे 'isdigit() ', गलत के लिए' 0' वापसी या सत्य के लिए किसी भी गैर-शून्य मान। –