c中选择语句的一个基本用法

问题遇到的现象和发生

#include
using namespace std;

int main() {
char a='A',b='B',c;
printf("%d\n",c=a<b--?a+b:a-b);
return 0;
}相关代码,请勿粘贴截图

为什么输出的结果是-126
运行结果及报错内容

我的解答思路和尝试过的方法
我想要达到的结果

首先,b--要在整个表达式计算完毕之后再执行-1的操作,所以a<b--等价于
a<b
b--
所以表达式为真,返回a+b,此时b的值依然是'B'
其次,char是有符号数,超过127就会显示成负数

同学你好,我这里不知道你的意图是什么,我猜测应该是加小括号的问题,可以试试添加小括号来解决,希望对你有帮助哦,放稳心态,加油加油🤓