C语言课后题,答案不对?

输入一串字符以‘#’结束,如果它是大写字母,则转换为小写字母输出,如果是小写字母,则转换为大写字母输出,如果不是字母,则照直输出
while((ch=getchar())!="#")
{if(ch>="A"&&ch<="Z")
ch=ch-"A"+"a";
else if(ch>="a"&&ch<="z")
ch=ch-"a"+"A";
putchar(ch);
}
答案为什么不对

字符是单引号'A' , 'a'

你用的是双引号表示的是字符串,应该用单引号