मैं एक एम्बेडेड परियोजना के लिए एक एसडीके का उपयोग कर रहा हूं। इस सोर्स कोड में मुझे कुछ कोड मिले जो कम से कम मुझे अजीबोगरीब लगे। एसडीके में कई स्थानों पर इस प्रारूप में स्रोत कोड है:
#define ATCI_IS_LOWER( alpha_char ) ( ( (alpha_char >= ATCI_char_a) && (alpha_char <= ATCI_char_z) ) ? 1 : 0 )
#define ATCI_IS_UPPER( alpha_char ) ( ( (alpha_char >= ATCI_CHAR_A) && (alpha_char <= ATCI_CHAR_Z) ) ? 1 : 0 )
क्या यहां टर्नरी ऑपरेटर के इस्तेमाल से कोई फर्क पड़ता है?
नहीं है
#define FOO (1 > 0)
बराबर
#define BAR ( (1 > 0) ? 1 : 0)
?
मैंने इसका उपयोग करके मूल्यांकन करने की कोशिश की
printf("%d", FOO == BAR);
और परिणाम 1 प्राप्त करते हैं, इसलिए ऐसा लगता है कि वे समान हैं। क्या कोड लिखने का कोई कारण है जैसा उन्होंने किया था?