这条线返回什么?
回答
通常情况下,您需要分配一个等号。分配的返回与表达式的RHS相同。
您会在if中的表达式中使用等号来同时分配和检查结果。
// return first and third items added if they exist.
if ((list = GetItems()).Length > 2) { return list[0] + list[2]; }
就在这里你已经是一个编译器错误,因为t.left==null
计算为(true/false)
,你不能分配给。
这个语法技巧有点警告,如果过度使用它会变得非常混乱。 ((面积=长度×宽度)> 100)&&(面积<1000)&&((面积2 =长度2 *宽度2)> 1000)&&((面积=面积+面积2)<(绝对面积面积= area6) - bufferarea))){return absolutemaxarea - totalarea + bufferarea; } //刚刚发生的事情' –
只是要添加,上面的行是确定,在二叉搜索树,有多少节点只有一个孩子使用递归..不知道这是否有帮助 – warpstar
@warpstar如果你想知道,那么这行就是'((t.left == null)!=(t.right == null))? 1:0;'这将返回true IFF只有一个节点有一个孩子,如果两个或者都没有孩子,则返回false。 –
如果两个t.left
和t.right
要么null
或在同一时间不null
,然后lf
是1
否则是0
。
另外你还有一个错字。该行应
int lf = ((t.left==null) == (t.right==null)) ? 1:0;
注意两个空检查之间的==
。
我不认为这是真的,我认为无论剩下的东西评估什么,它将被替换为正确的东西。我认为只有正确的事情才是最重要的。编辑:两个空检查之间没有== – ajax333221
@ ajax333221对不起,我没有注意到他的错字...在java中它不会编译,如果只有一个'='(作业) – alegen
另外,你怎么确定那是预期的比较?如果编码器想要'((t.left == null)!=(t.right == null))''。永不假设。如果可能的话,总是去找出想要的东西。 –
- 1. 为什么这个条件返回true?
- 2. 这条语句返回什么$ _SERVER ['SERVER_PROTOCOL']
- 3. 这条线做什么flask.g.auth.logged_in?
- 4. 这条Ruby线说什么?
- 5. 这条线说什么......?
- 6. 这条线打印什么,为什么?
- 7. 这条线说什么/做什么?
- 8. 为什么这返回undefined?
- 9. 为什么这条线不变?
- 10. 这条线应该是什么? (java)
- 11. 这条Javascript线是做什么用的?
- 12. C,这条线是做什么的?
- 13. 这条线的含义是什么?
- 14. 这条路线有什么问题?
- 15. 为什么JSHint在这条线
- 16. 大会,这条线做什么?
- 17. 这条线是什么意思
- 18. 这条线是做什么的?
- 19. 不知道这条线是什么
- 20. 这条PHP线是什么意思?
- 21. 这条ASM线是什么意思?
- 22. 这条线的含义是什么?
- 23. 这条线有什么问题?
- 24. 这条线是干什么的?
- 25. 这条线有什么问题?
- 26. Rails:这条路线有什么问题?
- 27. 这条线有什么问题?
- 28. 这条路线的路径是什么?
- 29. c:这条线是做什么的?
- 30. 这条路线有什么问题?
这是否甚至编译?编译器不应该允许赋值给表达式。 – Paulpro
没有内部赋值语句,否则代码不会编译。第三个操作符必须是另一个'=='。 – EJP
((t.left == null)** == **(t.right == null)):如果* t.left和t.right *都是'null'或'not null',则返回1。如果只有一个是'null',则返回零。 ((Object)o == null)返回一个布尔值。如果你返回零和一个,你可以使用true或false,并替换* int lf * * boolean lf * –