You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言实现字母大小写互相转换的方法及完整示例代码

C 语言大小写字符互转实现

本内容尤其适合初学者参考。

首先我们需要引入标准输入输出头文件,声明相关变量即可完成实现:
首先引入依赖头文件:
#include <stdio.h>

修正后的完整可运行代码如下:

int main() {
    char convertType, inputChar;

    printf("请选择转换类型:A. 大写转小写 B. 小写转大写\n");
    scanf("%c", &convertType);
    // 清理输入缓冲区残留的换行符,避免后续读取字符失败
    getchar();

    switch (convertType) {
    case 'A':
        printf("请输入需要转换的大写字符:");
        scanf("%c", &inputChar);
        // 大写ASCII值加32即为对应小写字符
        inputChar = inputChar + 32;
        printf("转换后的小写字符为:%c", inputChar);
        break;
    case 'B':      
        printf("请输入需要转换的小写字符:");
        scanf("%c", &inputChar);
        // 小写ASCII值减32即为对应大写字符
        inputChar = inputChar - 32;
        printf("转换后的大写字符为:%c", inputChar);
        break;
    default:
        printf("输入选项非法,请输入大写的A或B");
        break;
    }

    return 0;
}

原示例代码存在几处可优化的问题,调整后运行更稳定:

  • 原代码case 'A'分支未添加break关键字,会出现switch逻辑穿透问题,选择A选项时执行完对应逻辑后还会继续执行B选项的代码
  • 原代码大写转小写的计算逻辑写反,大写字符的ASCII值加32才会得到对应小写字符,错误的减32会得到非预期结果
  • 原代码scanf读取转换选项后,输入缓冲区会残留换行符,后续直接读取字符会读到空换行,添加getchar()可清理缓冲区避免该问题
  • 原代码未添加default分支,用户输入非法选项时程序无任何响应,补充后交互更友好

内容的提问来源于stack exchange,提问作者Siddhant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 03:15:07