C语言中的问题
charc='A';if('0'<=c<='\x39')printf("YES");elseprintf("NO");这个if语句中的表达式怎么运行...
char c='A';
if ('0'<=c<='\x39') printf("YES");
else printf("NO");
这个if语句中的表达式怎么运行 展开
if ('0'<=c<='\x39') printf("YES");
else printf("NO");
这个if语句中的表达式怎么运行 展开
4个回答
展开全部
'\x39' 表示十进制的57
A代表的65 ,则c=65
因为c>39 所以if语句的表达式运行结果为NO。
A代表的65 ,则c=65
因为c>39 所以if语句的表达式运行结果为NO。
追问
纠正你一下,这个题的答案是YES.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if('0'<=c<='\x39')
相当于
if(('0'<=c)<='\x39')
表达式'0'<=c得到结果为1, 所以就变成
if ( 1 <= '\x39')
所以会输出YES
追问
这个1与'x39'是不是也要用ASCII 码进行比较
追答
是, 不过前面得出来的1就是1, 它不是字符, 就是一个数字1 (十六进制的0x01)
'x39' 对应的是数字字符'9', ASCII码是十六进制的 0x39, 等于十进制的57
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询