c语言中小写字母转大写字母
一、题目引入
这一题运行结果是什么?
二、代码分析
在这个代码中:
- 首先 -> 定义了一个字符数组空间内存是80 里面存储的是字符串123abcdefg*&
- 接着 -> 定义了一个整型变量j 后面的循环会用到
- 然后 -> 使用了<stdio.h>中的库函数puts(ch)原样打印内容 并且自动加一个回车
- 这里就会有小伙伴有疑问那printf()和puts()有什么区别呢
小区别:
- printf()只会原样输出 不会加入回车
- puts()原样输出并且加入回车
- 也就是不需要你手动输入回车
- 接下来进入一个for循环 变量j初始化是0 把数组ch里面的值进行遍历 直到遍历遇到\0就结束
- j++是起一个自增的作用 避免程序进入一个死循环
- 最后进入for循环里面的if条件判断里面
- 如果说数组ch遍历中的内容是大于等于大写字母a和大写字母z之间 说白了 要是ch数组中遍历到了大写字母
那么就执行下面这个代码
- ch[j] = ch[j] + '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) 会打印转化后的整个字符串 并且换行
三、代码运行
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论