C语言中
当if语句中的条件为赋值语句时,实际上是将赋值后的结果与0进行比较【左值】
if(1) 由于1>0 所以认为是true
java语言中,虽然也用了左值,但是不再与0比较,而是直接将0放入if()中
但是int类型,不能转换为boolean,所以会报错:“ Type mismatch: cannot convert from int to boolean ”
本文探讨了C语言和Java中if语句处理赋值表达式的不同方式。在C语言中,if语句会将赋值后的结果与0进行比较;而在Java中,尝试这样做会导致类型不匹配错误,因为int类型不能自动转换为boolean类型。
C语言中
当if语句中的条件为赋值语句时,实际上是将赋值后的结果与0进行比较【左值】
if(1) 由于1>0 所以认为是true
java语言中,虽然也用了左值,但是不再与0比较,而是直接将0放入if()中
但是int类型,不能转换为boolean,所以会报错:“ Type mismatch: cannot convert from int to boolean ”
626
4910
2815

被折叠的 条评论
为什么被折叠?