当前位置:  开发笔记 > 编程语言 > 正文

要转换大写和小写,为什么我们加上+32和-32 pleas解释

如何解决《要转换大写和小写,为什么我们加上+32和-32pleas解释》经验,为你挑选了1个好方法。

这是一个代码段,我不明白为什么+32和-32会加或减以使字符大写小写。

/******** function definition *******/
void stringLwr(char *s)
{
    int i=0;
    while(s[i]!='\0')
    {
        if(s[i]>='A' && s[i]<='Z'){
            s[i]=s[i]+32;
        }
        ++i;
    }
}

void stringUpr(char *s)
{
    int i=0;
    while(s[i]!='\0')
    {
        if(s[i]>='a' && s[i]<='z'){
            s[i]=s[i]-32;
        }
        ++i;
    }
}



为了获得更多参考,我正在网站C程序上学习它以进行大写和小写转换。



1> R Sahu..:

为ASCII码a- z是97-122。
为ASCII码A- Z是65-90。

要获得Aa,你需要减去32
来获取aA,你需要添加32。

为了使代码更加清晰,可以使用:

        s[i] += ('a' - 'A');
        // 'a' = 'A' + ('a' - 'A');

将大写字母转换为小写字母时,以及

        s[i] += ('A' - 'a');
        // 'A' = 'a' + ('A' - 'a');

将小写字母转换为大写字母时。

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有