大家来看看这个程序,第2个if语句错了吗?

来源:百度知道 编辑:UC知道 时间:2024/05/13 15:39:59
#include <stdio.h>
void main(){
char ch;
scanf("%c",&ch);
if(ch>='A'&&ch<='Z'){
ch=ch+32;
}else{
if(ch>='a'&&ch<='a')
ch=ch-32;
}
printf("%c",ch);
}
我要的效果是大小写字母的互相转换

if(ch>='a'&&ch<='a') ???

是不是应该是:if(ch>='a'&&ch<='z')
你打错了吧
改过就运行正常了
加分谢谢

if(ch>='a'&&ch<='a')

ch既不小于'a'又不大于'a' ?

满足这个条件的只有'a'一个字符

#include <stdio.h>

void main()
{
char ch;
scanf("%c", &ch);

if(ch >= 'A' && ch<='Z')
{
ch = ch + 32;
}
else if(ch >= 'a' && ch <= 'z')
{
ch = ch - 32;
}
printf("%c", ch);
}

else后直接加if,不用{},if(ch>=‘a'&&ch<='z')ch=ch-32

如果你写成那样,第二个if的作用只在ch=='a'时成立,语句本身没有错。