void main()
{
char a,A;
scanf("%c",&a);
if( (a>='a') && (a <= 'z') )
A=a-32;
else if( (a >= 'A') && (a <= 'Z') )
A=a+32;
else
A = 'A';
printf("%c\n",A);
return 0;
}
说明:你原来的地方有两处错误,第一,scanf( "%c", &a );中,&是取地址操作符,也就是只有你这样做,输入的字符才能被编译器根据取到的地址,把字符值送进内存里去。所以if(&a>='a')
是错误的,应该改为a而不是&a。第二,逻辑错误,只有你写的if中得条件,没考虑其他的异常处理,怎么可以?逻辑思考要完整些