设有说明语句int x=35,B; char z='a ';则执行完下面的赋值语句后,B的值为-------- .

问题描述:

设有说明语句int x=35,B; char z='a ';则执行完下面的赋值语句后,B的值为________ .
B=(x^x)&&(z
1个回答 分类:综合 2014-10-28

问题解答:

我来补答
先给你答案:B= 0;
解释如下:
首先:定义B为整型变量,你并没有进行初始化,则其默认值为0;
其次:执行语句时,这个语句主要是逻辑运算的一些组合, " ^ "是“异或”运算符,他说的就是"相异则或"(你可以这么望文生义的去理解),意思就是说:当它左右的变量按二进制逐位进行比较,如果不同则为真(C语言包里面真为非零的数),反之,相同则为假(C语言里面假为0);
最后:回到本题,X与X进行异或,他们当然相同了(自身与自身进行比较),所以为假(0),而后面的&&是逻辑与运算,只有他的左右都为真的时候表达式逻辑值才为真,而此刻它左边的已经为假,所以后面的就不用再看了,这叫做“逻辑短路”;所以,B的值为0.
 
 
展开全文阅读
剩余:2000