为什么这个答案是如何字符

当字符型变量ch 取何值(或何范围)时输出“YES”

char ch;
scanf("%c",&ch);
if(ch<='A'&&ch>='Z')
printf("NO");
else printf("YES");

ch要比'A'小,同时比'Z'大,这是矛盾的,表达式永远为false,所以永远输出YSE
如果要改成ch在‘A’到'Z'为yes,那要改成if(ch<='A'&&ch>='A')请采纳,谢谢

一个字符,要比'A'小,同时比'Z'大,这是矛盾的,表达式永远为false,所以永远输出YSE

ASCII码,字符“A”转换十进制是65,“Z”是90, 没有能满足小于65 且 大于90的字符

img