C语言电文加密问题,看看这个哪里错了呀,输出结果不对

img

#include <stdio.h>
int main()
{
char a;
a=getchar();
while(a!='\n')
{
if((a<='Z'&&a>='A')||(a<='z'&&a>='a'))
if(a<='V'||a<='v')
{a=a+4;
printf("%c",a);
}
else
{a=a-22;
printf("%c",a);
}
}

return 0

}

循环结束前,你还要c=getchar()继续输入新字符啊