错误示例:
if(a[i][0] == a[i][1] == a[i][2] == 0 )
-
在C语言中,不能使用连续相等比较,例如
a == b == c这样的表达式。因为相等运算符是从左到右结合的,并且实际上比较的是布尔值(0或1)。例如,a[i][0] == a[i][1] == a[i][2] == 0实际上会被解释为:-
先计算
a[i][0] == a[i][1],结果为0或1。 -
然后将这个结果与
a[i][2]比较,得到0或1。 -
再将这个结果与0比较,所以实际上并不是在判断三个数是否都为0。
-
正确写法:
if(a[i][0]==0 && a[i][1]==0 && a[i][2]==0)
450

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



