三目运算符

        在C语言标准中规定:条件表达式(三目运算符)的结合性是右结合,即自右向左结合。

        结合性和优先级只是定义表达式的结构,当确定表达式运行时的行为时才需要表达式各部分的运算顺序。

例子

int x = 1 ? 0 : 1 ? 2 : 3; // 解析为 1 ? 0 : (1 ? 2 : 3)
  • 右结合结果:0(因为条件为真,直接返回0)。

  • 若左结合:(1 ? 0 : 1) ? 2 : 3,先得到 0,再判断 0 为假,返回3。

你可能感兴趣的:(C语言基础,C语言,三目运算符,结合性)