一个C语言疑惑求解决

问题遇到的现象和发生背景

**#include
void main( )
{ int a,b;
scanf("%d",&a);
b=a>15?a+10:a-10;
printf("%d\n",b) ;
}
**
输出为什么是5,

(b=a>15?a+10:a-10;)这一步不是只给b赋了一个开始的a值吗?还是说逻辑应该是从右往左的?

想知道这一步“b”到底发生了什么

你也没说你输入多少啊,兄弟
先执行的是a>15?a+10:a-10,这个三目运算符的结果赋值给b,不是b=a啊