```c
#include <stdio.h>
int main()
{
int x, y = -2, z = 0;
if ((z = y) < 0) x = 4;
else if (y == 0) x = 5;
else x = 6;
if (z = (y == 0)) x = 5;
if (x = z = y) x = 3;
printf("%d %d %d", x, y, z);
return 0;
}
请问第十四行代码是怎么判断为真的?x不是被赋值成-2吗?