5.1 面试题2
程序的运行结果是:10、10、1、3、1、7、1。
分析:1.首先程序开始进入main函数,定义局部变量xyz并对局部变量x进行初始化,初始化值为2。我们在定义变量时可以选择初始化,也可以不初始化。如果不初始化,编译时只会分配对应类型所占空间,没有值。
2.第九行,根据运算符的优先级表(C++ Primer第五版 第147页,自己看),首先执行z=5,然后y=z,然后x=x*y,最终x=10,所以cout输出流输出10
3.第12行,首先y = z,然后x==y结果为布尔型0,因为10≠3,但x=10没有被改变,所以输出仍然是10,警告里也很好地说明了这一点,这个==不起作用。
4.第13行,y==z结果为真即1,因为第十二