>>959
VC7でやってみた。
コンパイルは通るが、実質的にno effect。

int main(void)
int x=10, y=20, z;
char tmp[100];fgets(tmp,sizeof(tmp),stdin);z=atoi(tmp);
z&1?x:y = 0; //←no effect?
printf("x=%d,y=%d,z=%d\n",x,y,z);
return 0;
}

当然の事ながら、こうしたら期待した結果を得られた。
*(&(z&1?x:y)) = 0;