C语言3目表达式的运算结果是放在寄存器的吗?那其他的表达式的结果呢?

C语言3目表达式的运算结果是放在寄存器的吗?那其他的表达式的结果呢?

运算结果放在哪里是编译器决定的,而不是编程语言决定的。没有规定?:运算表达式的结果一定放在寄存器

举例;
int i = true ? 1 : 2;
因为这是一个常量表达式,因此编译器直接得到int i = 1;
根本就不会产生判断的代码,也不用到什么寄存器。