关于C语言大写与小写转换的一个问题

2025-04-08 15:00:08
推荐回答(4个)
回答1:

你的程序编译大概可以通过,但是很多地方会产生逻辑错误.比如:IF里('a'<=ch<='z'),计算机会先检查'a'<=ch得出结果后才判断后面的内容,你这样写意思就成了”如果”A”<=CH成立就执行ch+32.
ch+32的结果得不到你想要的内容,改成ch+=32;
else一行去掉.
你的程序的结果不是大小写转换,而是把小写(大写)全部转换为大写(小写).
多看程序,分析语法.

回答2:

一, scanf中应为%c
二, if语句中的'z' 应为'Z', 全句应为if ('A'<=ch & ch<='Z') ch += 32
三, else一行去掉
四, printf中, 应为"%c %c", ch-32, ch

回答3:

你的程序可以改成这个样字:
main()
{
char ch;
scanf("%c",&ch);
if(ch>='A'&&ch<='Z')ch+=32;
if(ch>='a'&&ch<='z')ch-=32;
printf("%c",ch);
}

回答4:

main()
{char ch;
scanf("%c",&ch);
if(ch>='A'&&ch<='Z') ch=ch+32;
printf("%c",ch);
}