因为你第一个if 把小写a转为大写A
但第二个if又把A转化为a了。
所以看到结果是一样,你调试一下就知道是怎么样了。
把if改为if else就可以解决问题了。
#include
main()
{
char ch;
ch=getchar();
if(ch>='a' && ch<='z')
ch=ch-32;
else if(ch>='A' && ch<'a')
ch=ch+32;
else
ch=ch+1;
putchar(ch);
}
将if-if改为if-else if
楼主输入小a后执行ch=ch-32,把小a转换为了大A,而下面的if语句又把大A转换为了小a,楼主应该在第二个if前加一个else,这样就可以实现大小写转换了!
#include
main()
{
char ch;
ch=getchar();
if(ch>='a' && ch<='z')
ch=ch-32;
else if(ch>='A' && ch<'=Z')
ch=ch+32;
putchar(ch);
}