问号表达式有错误,printf返回输出的字符串长度如果a输入是大写字母,则经过此表达式a被赋值为2,显然和你预想是不符合的。
你的b变量没有初始化,而你输入A,b=a+32这句不会执行,所以输出是乱码你是想输入小写转换成大写吗,先把b初始化成0,然后先判断是不是大写字母,是的话直接输出,不是的话再判断是不是小写字母,是小写就转换成大写,否则不做任何操作输出B的时候先判断B是不是为0,为0则不输出