|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- int main()
- {
- char a;
-
- printf("请输入一个字母:");
- scanf("%c", &a);
-
- if (a >= 65 && a <= 90)
- {
- printf("其小写字母为:%c", a + 32);
- }
- else if(a >= 97 && a <= 122)
- {
- printf("其大写字母为:%c", a - 32);
- }
- return 0;
- }
- #include <stdio.h>
- int main()
- {
- char ch;
- printf("请输入一个字符:");
- scanf("%c", &ch);
- if (ch >= 'A' && ch <= 'Z')
- {
- ch = ch + 32; // ch加32,变成小写,然后赋值回ch
- }
- else if (ch >= 'a' && ch <= 'z')
- {
- ch = ch - 32; // 同上
- }
- printf("%c\n", ch);
- return 0;
- }
复制代码
下面是范例,上面的那个也可以正常运行,这俩有啥区别吗
这两段代码的功能相同,实现了将输入的字母进行大写和小写之间的转换。
主要区别在于第一个代码段使用ascii码值来进行字符大小写的判断和转换,而第二个代码段则直接使用字符自身的显式编码形式(`'a', 'z', 'a', 'z'`)来进行判断与计算。
另外,第一个代码段还可以通过头文件引入c99标准提供的数据类型:`<stdint.h>`中的int8_t或uint8_t数据类型代替char类型,实现更精准的数据类型定义。
有用请设置最佳答案
|
|