C 使输入的大写英文字母变成小写
实际上,在<ctype.h>
头中已经有相关函数的集成tolower()
(小写变成大写是toupper()
),这里我们要自己写一个也很容易,利用acsii码的差值(很常用的方法)。
#include <stdio.h>
#define DIF ('a' - 'A')
int main(void)
{
char input;
while ((input = getchar()) != EOF) {
if (input >= 'A' && input <= 'Z') {
printf("%c", input + DIF);
} else {
putchar(input);
}
}
return 0;
}
这里我们用的常量,显得更加正规一点,并且也验证了printf()
和putchar()
可以混合使用。