यह रूपांतरण कितना पोर्टेबल है। क्या मुझे यकीन है कि दोनों दावे पारित होंगे?
int x = 4<5;
assert(x==1);
x = 4>5;
assert(x==0);
क्यों न पूछें। मुझे पता है कि यह बदसूरत है। धन्यवाद।
assert( 4 < 5);
औरassert(!( 4 > 5));
(4 < 5) ? 1 : 0
कि अगर मुझे वास्तव में एक बूलियन को 0 या 1 में बदलने की आवश्यकता है, तो एक अच्छा संकलक संभवतः एक ही मशीन कोड का उत्पादन करेगा और यह एक मानव पाठक के लिए स्पष्ट है।
assert(x!=0)
। भले ही बूल (सच) पोर्टेबल को इंट (1) में परिवर्तित कर देता है, "झूठे नहीं" का दावा अधिक पठनीय अभिव्यक्ति है।