首先?是一个三目运算符。
格式为:a>b?a:b;意思是a如果前面的逻辑式为真,结果为a,为假结果是b
a=x>0?3*x:x=10;
逻辑运算比赋值运算优先等级更高,所以a=这里就是把后面的结果赋值给a所以这里先看:x>0
已知x=2;所以这里为真;
输出冒号前面的x,x=2。 再把2赋值给a,所以结果是2.
三目运算符 如果x>0 成立 就执行语句1也就是把3*x给a 如果不成立 就把执行语句2 也就是把x赋值为10并且给 a 你地程序 刚开始把x赋值为2 大于零 成立 所以就把3*x给a 也就是6 但并没有改变x的值 所以x还是为2
a=x>0?3*x:x=10;
问号运算符,是三目运算符。如果x>0,则a=3*x,否则x=10,并将值赋给a
2>0,因此x仍为2,a=3*x=3*2=6
输出x的值,输出2