下列程序的执行结果是_____D____. #include <stdio.h> void m

下列程序的执行结果是_____D____.

#include <stdio.h>

void main( )

 { int x=0,y=1,z=0;

   if (x=z=y)

       x=3;

   printf(&%d,%d\n&,x,z);

 }

A) 3,0        B) 0,0         C) 0,1        D) 3,1
为什么呢,那个if括号里的怎么看

if (x=z=y)执行时,它不是判断(判断是==),而是赋值。

先将y的值赋给z(等于1),再将1赋给x。整个括号内逗号表达式的值为1,所以条件成立,于是执行下一行的赋值:
x=3;追问

O(∩_∩)O蟹蟹

温馨提示:答案为网友推荐,仅供参考
相似回答