?:,c语言帮看一下

img

回答: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。