初学者学C语言看书遇到的问题

if(c>='Z'&&c<='Z'+4||c>'z') //书上写的是用这句话判断c是否是26个字母的后4个之一

想请大家讲解一下,初学者,着实没看懂,为什么不写成
if((c>='W'&&'c'<='Z')||(c>='w'&&'c'<='z'))

估计是这个“后四个之一”理解错了,书上的意思是:Z字幕后面的4个(Z的后面四个);而你的意思是26个字母当中的尾四个(WXYZ)

c>='Z'&&c<='Z'+4||c>'z' 这代表两个范围,Z和他后面的4个字母之一,或者小写z后面的任何字符

if(c>='Z'&&c<='Z'+4||c>'z') 这个的意思是在ASCII表中大写‘Z’后面的4个字符或者小写‘z’后面的所有字符
而楼主显然是另一个意思了。仅供参考~