设有定义:“int x,y,z,t; ”,则执行下列程序段后,变量t的值为?x=y=z=0;if(x=y)t=1; else t=2;(求详解,答案真奇怪)

问题描述:

设有定义:“int x,y,z,t; ”,则执行下列程序段后,变量t的值为?
x=y=z=0;
if(x=y)t=1;
else t=2;
(求详解,答案真奇怪)

开始时 x=0 y=0 z=0
接着条件判断的条件是付值语句,把y值给x,结果 x=0
条件语句当条件为0时表示假,所以程序执行else后面的t=2
所以条件结束后 x=0 y=0 z=0 t=2