C语言中小写字母转大写字母

一、题目引入

这一题运行结果是什么?

二、代码分析

在这个代码中

首先 -> 定义了一个字符数组空间内存是80 里面存储的是字符串123abcdEFG*&

接着 -> 定义了一个整型变量j 后面的循环会用到

然后 -> 使用了<stdio.h>中的库函数puts(ch)原样打印内容 并且自动加一个回车

这里就会有小伙伴有疑问那printf()和puts()有什么区别呢

小区别:

printf()只会原样输出 不会加入回车

puts()原样输出并且加入回车

也就是不需要你手动输入回车

接下来进入一个for循环 变量j初始化是0 把数组ch里面的值进行遍历 直到遍历遇到\0就结束

j++是起一个自增的作用 避免程序进入一个死循环

最后进入for循环里面的if条件判断里面

如果说数组ch遍历中的内容是大于等于大写字母A和大写字母Z之间 说白了 要是ch数组中遍历到了大写字母

那么就执行下面这个代码

chj = chj + 'e' - 'E'; 这个代码我将举一个小例子进行阐述一下

这里的'e' - 'E'是('e'的ascii码值)101-('E'的ascii码值)69=32

补充点:

小写字母与大写字母的差值是32 这是一个规律

例如:a=97 A=65 a-A=97-65=32

假如说遇到大写字母E 那么就是E+'e'-'E'=69+101-69=69+32=101

而101就是小写e的ascii码值

最后不得不提的是

puts(ch) 会打印转化后的整个字符串 并且换行

三、代码运行

相关推荐
yi0118 分钟前
LeetCode 643. 子数组最大平均数 I|从暴力枚举到滑动窗口
人工智能·笔记·python·算法·leetcode·滑动窗口
FPGA小徐18 分钟前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#
北京盛世宏博20 分钟前
工业环境监测选型:Modbus TCP以太网温湿度传感器部署、调试、避坑全指南
开发语言·网络·php
沫璃染墨33 分钟前
《Linux工程实践篇(二):线程池实战——从线程安全单例到完整源码实现》
linux·开发语言·c++·单例模式·设计模式·系统架构
极光通讯39 分钟前
服务器内存来料检验(IQC)实操:批次追溯、外观判定与上机验证
java·服务器·算法
泡海椒1 小时前
JQuick-Excel 多字段 TRANSFORM:让当前行字段、JContext 与展示列各归其位
开发语言·python·excel
JPower_mr.g1 小时前
SmartCall 音色管理技术解析:基于 SPI 的可扩展音色注册架构
java·开发语言·人工智能·ai·架构·开源
淡海水1 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
ClickHouseDB1 小时前
ClickHouse 大规模 OpenTelemetry 数据接入架构的可靠性演进
算法
源图客1 小时前
浏览器开发者工具使用
开发语言·php