本帖最后由 zquchs 于 2012-8-15 20:12 编辑
判断好像有点问题,修改后:#include <stdio.h>
#include <conio.h>
void main()
{
char ch, temp;
printf("请输入一个字母: \n");
ch = getchar();
temp = getchar();
while( (ch>'A' && ch<'z') && (ch > 'Z' && ch < 'a') ) //这里就是清除掉A到Z与a到z之外的所有字符,
//while(ch <'A'||ch >'Z'&&ch < 'a'||ch >'z')这样也可以
{
printf("输入有误, 请重新输入一个字母: \n");
ch = getchar();
}
if( ch & 32 )
{
ch = ch & 223; // 使第五位为0,变大写
}
else
{
ch = ch | 32; // 使第五位为1,变小写,是
// |0010 0000 == | 32<!--EndFragment-->
}
putchar(ch);
printf("\n");
}
|