while((c=getchar())!='\n')
这句呀
你可以理解为
当系统函数getchar在读入字符时
未出现换行
即回车
则循环不断
if((c>='a' && c<='z')||(c>='A' && c<='Z'))
这句是if的大条件
你所输入的字符必须满足26个字母中的一个
大小写不限
至于最后一个问题
我有点晕了
我就搞不懂LZ为什么就和V干上了
if (c>'Z' && c<='Z'+4||c>'z')
这句相当于是if((c>='a' && c<='z')||(c>='A' && c<='Z'))的else if语句链的第二个条件
c=getchar())!='\n' 是对你输入进行判断。
((c>='a' && c<='z')||(c>='A' && c<='Z')) 是从A到Z进行判断。如果((c>='a' && c<='v')||(c>='A' && c<='V')),V后面的字符就判断不到了。
同样道理可以理解(c>'Z' && c<='Z'+4||c>'z')。
(c=getchar())!='\n' 当不是回车键时
另外的你看下ASCII码就明白了。
A是65,a是97
(c=getchar())!='\n' 当不是回车键时
然后我觉得是他错了,你对的。因为V以后就跳到前面去了。