小弟刚学C语言,有不明之处:当连续两个关系运算符时,如何判断真假值?

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:16:07
小弟刚学C语言,有不明之处:当连续两个关系运算符时,比如a<=b<=c,它的值是true还是false,如何判断?这个程序为何结果是"YES",望名位大哥百忙中帮帮小弟,谢谢:
#include
main( )
{ char c='A';
if ( '0'<= c <='9' )
printf ("YES");
else
printf ("NO");
}

关系运算符的运算顺序是从在到右的运算顺序,所以'0'<= c <='9' 相当于
('0'<= c )<='9'
由于0,A,9的ASCII码分别是30,41,39 所以
('0'<= c )=1
1<='9'=1

所以结果是"YES"

0 48
A 65

逻辑运算遵从从左到右的关系
a<=b<=c
<=>
(a<=b) <= c

其中 a<=b 的值是0 (条件为假)或1 (条件为真)