字母大小写转换和判断(已测试)

#include <stdio.h>
#define thisCharIs(ch, c) (c == (ch|32)) // 判断字母相同(不区分大小写)

// 字母转换成小写
void Lcase(char *ch)
{
	if (!ch) return;
	if (*ch >= 'A' && *ch <= 'Z')
		*ch |= 32;
}

// 字母转换成大写
void Ucase(char *ch)
{
	if (!ch) return;
	if (*ch >= 'a' && *ch <= 'z')
		*ch &= ~32;
}

int main(int argc, char **argv)
{
	char ch, tmp;
	for (ch='a'; ch<='z'; ch++) {
		tmp = ch;
		Ucase(&ch);
		printf("%c: %c\n", tmp, ch);
		ch = tmp;
	}
	return 0;
}

 

你可能感兴趣的:(大小写)