1、a的ASCII码为:97;26个字母的ASCII是连续的,则z的ASCII码为:122。
A的ASCII码为:65;则Z的ASCII码为:90。
两者之间的ASCII码差距为:32。可以利用这个差距,实现大小写字母之间的转换。
如下面的例子是在一串字符中,如果是小写,则转换为大写字母。
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main()
- {
- char str[] = "12dfdhAFdWd$#@hj";
- for (int i = 0; i < strlen(str); i++)
- {
- if (str[i] >= 97 && str[i] <= 122) //or if (str[i] >= 'a' && str[i] <= 'z')
- {
- str[i] -= 32;
- }
- }
- printf("%s\n", str);
- return 0;
- }
输出结果为:.
下面的例子是将大写字母转换为小写
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main()
- {
- char str[] = "12dfdhAFdWd$#@hj";
- for (int i = 0; i < strlen(str); i++)
- {
- if (str[i] >= 65 && str[i] <= 90) //or if (str[i] >= 'A' && str[i] <= 'Z')
- {
- str[i] += 32;
- }
- }
- printf("%s\n", str);
- return 0;
- }
2. 字符‘0’的ASCII码为48。‘0’到‘9’的ASCII是连续的,这样‘9’的ASCII码为:57。
于是数字字符转换为数字时可以通过用数字字符的ASCII码-48即可。
阅读(1510) | 评论(0) | 转发(1) |