k = i < j ? i : j;
是一条赋值语句,=左边是变量k,右边是表达式
i < j ? i : j
这是一个条件表达式。?前是条件i < j,?与:之间是当条件成立时(真分支)该求值的表达式i,:后面是条件不成立时(假分支)该求值的表达式j。根据条件成立与否,整个条件表达式的值为相应真假分支的表达式的值。所以,如果i 小于 j,i的值成为整个条件表达式的值,如果i不小于j,j的值成为整个条件表达式的值。
所以整个赋值语句的意思是把条件表达式的值赋给变量k。
从右至左赋值
首先 i=j
其次 x = x*i
这个问题最主要的问题在于它的多赋值情况
一定要分清楚优先级
一个完整清晰的思路 才能保证程序运行的稳定
如果你记不住它们的优先级 完全可以用小括号来区分
这样,不论谁的优先级高低 都是从括号开始运算的
就拿你的这个例子做个比喻 倘若就是记不清楚优先级则可以:
x *=(i=j)
虽然这个括号加不加,运算的结果都是一样的,但是这样更容易你阅读程序
不论是后期的调试,还是他人的阅读,都可以一目了然
这又涉及到了一个编程习惯问题了
养成一个良好的编程习惯,对你的工作学习都会有很大的帮助的
好了,又扯远了,呵呵~
希望能帮助你点什么...
【回答】
当i
即如果i小于j,则将i的值赋于k,否则则将j的值赋于k
望采纳
三目运算 就是 判断一下i 与 j的大小关系 符合小于关系 就把 i 赋值给 k 不符合 就把 j 赋值给 k
if(i
k=i;
}
else
{
k=j;
}