回答:ACSII码编号差的不是26,是32,代码如下:
#include<stdio.h>
int main() //大小写字母转换,a->97 A->65
{
char ch;
printf("请输入小写字母,会转化为大写字母\n");
scanf("%c",&ch);
ch=(ch>='a'&&ch<='z')?(ch=ch-32):ch;
printf("%c",ch);
return 0;
}
注意,这里会有bug,区分不了连着的字符,凑合用吧,建议不要用三元式,用if语句就行
大小写字母的ascii码差值是32。