|
发表于 2024-4-14 16:07:46
|
显示全部楼层
你的代码中有两个问题导致无法将大写字母转换为小写字母。
第一个问题是在条件判断部分,你使用了赋值运算符`=`而不是比较运算符`==`。正确的比较运算符应该是`ch == 'a'`。
第二个问题是你只考虑了将小写字母转换为大写字母的情况,没有考虑将大写字母转换为小写字母。
下面是修改后的代码,能够将大写字母转换为小写字母:
- #include <stdio.h>
- int main()
- {
- int ch;
- printf("请输入一行英文:");
- while ((ch = getchar()) != '\n')
- {
- if (ch >= 'A' && ch <= 'Z') // 将大写字母转换为小写字母
- {
- ch = ch + 'a' - 'A';
- }
- else if (ch >= 'a' && ch <= 'z') // 将小写字母转换为大写字母
- {
- ch = ch - ('a' - 'A');
- }
- putchar(ch);
- }
- return 0;
- }
复制代码
这样修改后,无论输入的是大写字母还是小写字母,都能正确地转换为相应的大小写形式。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|