关于三元运算符的一点问题 把下式的三元运算符放置printf之内可以输出a的值为3,但不是应该输出1

关于三元运算符的一点问题 把下式的三元运算符放置printf之内可以输出a的值为3,但不是应该输出1吗? 我了解后知道三元运算符执行后会有一个返回值,但if语句不一定有。所以可以直接放置prinrf中。但要把它单独拿出又不一样了。 蒙圈了啊……[face]monkey:19.gif[/face]

三元运算符     判断?执行1 :执行2;

    这里你的判断为真,于是执行1,返回的值为3。

他不是用来返回布尔值的,而是通过不同的条件来选择执行语句的

望采纳,可追问

你第二张图返回a=30,是你自己定义的int a = 30;

当你将a用三元运算符运算完之后并没有将值赋给a,所以a保持不变,如果需要可以写以下语句:

a = (a/3>0) ? a/10 : a%3;