C语言 大小写字母转换

2020-06-16 教育 68阅读
#include
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中得条件,没考虑其他的异常处理,怎么可以?逻辑思考要完整些
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com