其实原理很简单,让我们来看看ascll表,就一目了然了.
我们来对比一下大小写字母对应的十进制值,A 是81,a 是113,B 82 b 114 可以很明显的发现差值是固定的 ,a-A==b-B,所以我们把一个大写字母加上这个差值,它就变成了小写字母,反之一个小写字母减去这个差值,就变成了大写字母.(当然计算机的底层是二进制,不过管它啥进制,差值是固定的就行)
代码实现
#include<stdio.h>#include<string.h>int main(){char str[] = { "HeLLo World " };int len = strlen(str);printf(" 转换前的字符串:%s\n", str);for (int i = 0; i <len ; i++) {if (str[i] >= 'A' && str[i] <= 'Z'){str[i] = str[i] + ('a'-'A');}}printf("转换后的字符串:%s\n", str);return 0;}
运行结果
编译器是Microsoft Visual Studio