鱼C论坛

 找回密码
 立即注册
查看: 1480|回复: 1

[已解决]【求助帖】关于字符

[复制链接]
发表于 2019-4-19 22:43:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问一下,('A'<=sle && sle<='Z')里面的‘A’是表示65还是表示A,为啥我把sle定义成整型和定义成char类型都可以和‘A’比较大小?
还是说前面定义sle的类型不同后面的'A'也会跟着转换。


#include<stdio.h>

int main()

{
        int  sle;
        printf("请输入一个字符:");
        scanf("%d",&sle);


                if('A'<=sle && sle<='Z')
        {               sle = sle +32;
                        printf("%c\n",sle);
        }


                else if ('a'<=sle && sle<='z')
        {               sle = sle -32;
                        printf("%c\n",sle);
        }

                return 0;
最佳答案
2019-4-19 23:39:06
本帖最后由 jackz007 于 2019-4-19 23:40 编辑

        在计算机内部,每一个字符都是用编码来表示的,字符 'A' 和整型数 65 其实是一回事,65 是字符 'A' 的编码。如果把数字 65 显示成字符,就会是 'A'。如果把字符 'A' 显示成数字,就是65。

        char 和 int 其实都是整型数,只是二者的字节长度不同,能够表达的数值范围不同而已。所以,在 -128 ~ 127 的数值范围内,使用 char 和 int 表达字符编码的效果是完全一样的。例如,int 65 和 char 65 都一样可以表达字符 'A'。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-19 23:39:06 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-4-19 23:40 编辑

        在计算机内部,每一个字符都是用编码来表示的,字符 'A' 和整型数 65 其实是一回事,65 是字符 'A' 的编码。如果把数字 65 显示成字符,就会是 'A'。如果把字符 'A' 显示成数字,就是65。

        char 和 int 其实都是整型数,只是二者的字节长度不同,能够表达的数值范围不同而已。所以,在 -128 ~ 127 的数值范围内,使用 char 和 int 表达字符编码的效果是完全一样的。例如,int 65 和 char 65 都一样可以表达字符 'A'。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-3 14:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表