C语言中的问题

2024-11-06 21:32:09
推荐回答(4个)
回答1:

在C语言中,<=这个运算符的结合方向是,从左到右,换句话说,'0'<=c<='\x39'等价于('0'<=c)<='\x39',因为('0'<=c)的结果是true,也就是1。然后再判断1<='\x39',结果也是true,所以最后输出YES。

如下是我做的一些实验,供题主参考

回答2:

'\x39' 表示十进制的57
A代表的65 ,则c=65
因为c>39 所以if语句的表达式运行结果为NO。

回答3:

if('0'<=c<='\x39')

相当于

if(('0'<=c)<='\x39')

表达式'0'<=c得到结果为1, 所以就变成

if ( 1 <= '\x39')

所以会输出YES

回答4: