7
为什么使用三元运算符在宏中定义1和0?
我正在将SDK用于嵌入式项目。在此源代码中,我找到了一些至少是我特有的代码。SDK的许多地方都有这种格式的源代码: #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 ( …