C - 将大写字母转换为小写

lch*_*che 2 c

一个非常简单的程序.我只是想把'A'变成'a',但输出给我'A'.

#include <stdio.h>

int main(void) {
    putchar(lower('A')); 

}

lower(a) 
int a; 
{
    if ((a >= 65) && (a >= 90))
        a = a + 32; 
    return a;  
}
Run Code Online (Sandbox Code Playgroud)

Sco*_*son 17

你搞砸了你if病情的第二部分.那应该是a <= 90.

另外,仅供参考,有一个C库函数tolower已经执行此操作:

#include <ctype.h>
#include <stdio.h>

int main() {
    putchar(tolower('A'));
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,`tolower`是依赖于语言环境的.最好使用`return(c <='Z'&& c> ='A')?c + 32:c`如果你知道你只想要ASCII语义. (3认同)