c语言大小写字母转换的三种方法 到 思考指针(超详细) | 您所在的位置:网站首页 › c语言转换大写字母怎么转换 › c语言大小写字母转换的三种方法 到 思考指针(超详细) |
目录 前言 总结摆在前面 1.指针思考的拓展 2.浅提一下表达式求值 三种方法 1.利用ASCII相差32 1.1以表达式求值的思考方式 1.2以指针的方式 2.通过按位异或来求(我觉得太巧合了,不推荐) 3.通过库函数(这个看你积累) 3.1 tolower函数——转换字符位小写 定义 参数 返回值 3.2 toupper——转换字符为大写 定义 参数 返回值 3.3上代码 前言经过网上资料的参考和自己的总结,c语言大小写字母转换至少有三种方法。对于我们c语言初学者来说,其实可以通过该问题的思考,从ASCII表到表达式求值再指针,初步感受他们的魅力所在。 总结摆在前面 1.指针思考的拓展指针广义上来说,可以不仅仅是十六进制的地址,ASCII中的值又何尝不是一种地址,告诉你ASCII的值就相当于告诉了他的指针,通过指针我们可以找到其对应的字符。对ASCII值(指针)进行加减运算,可以得到另一个指针,对应另一个字符。如 decch65A97aA的ASCII值为65,也可以理解为A的地址(指针)是65(0x41),指针加32,变为97,指针最后就指向了字符a。 2.浅提一下表达式求值对于表达式求值,笔者在从二进制和内存的底层来探究同一数据在不同类型下的调用(链接)中分享了我对表达式求值的思考。这里我再分享一些新的看法 不管是定义一个变量,数组,抑或是函数,首先都有一个地址,地址一定会返回一个值(真数字),然后再根据你的数据类型,转换成或int,或char等的数据。 char ch = 'A' + 32;我们要将’A'+32看成表达式求值,为97,char类型的97就是a了。 三种方法 1.利用ASCII相差32 1.1以表达式求值的思考方式 #include int main() { char ch; printf("请输入:>>"); scanf("%c", &ch); if (ch >= 'a' && ch = 'A' && ch |
CopyRight 2018-2019 实验室设备网 版权所有 |