我声明了一个二维字符数组矩阵[][]。
char matrix[3][3] = {{' ', ' ', ' '},{' ', ' ', ' '},{' ', ' ', ' '}};
int vacantCenter() { int n; (matrix[1][1] == ' ')? n = 1: n = 0; return n; }
这个 precedence = 低于三元运算符 ?: .
=
?:
因此,您的表达被解释为:
((matrix[1][1] == ' ')? n = 1: n) = 0;
添加括号使其生效:
(matrix[1][1] == ' ')? n = 1: (n = 0);
vacantCenter 可以写成:
vacantCenter
int vacantCenter() { return matrix[1][1] == ' '; }
或者(如果您对 ==
==
int vacantCenter() { return matrix[1][1] == ' ' ? 1 : 0; }