运算符优先级别的有关问题

运算符优先级别的问题
假设有:char a='A',b='B',c;
执行printf("%d",c=a<b--?a+b:a-b);
为什么答案不是130?求大神指教啊
c语言,运算符

------解决方案--------------------
在Debug下直接看汇编代码就知道了。
------解决方案--------------------
你把c定义成int就是130了,这个是由于数据溢出造成的,char的范围是-128~127,130超过其范围了,所以成了负数