问题描述: 设有说明语句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. 展开全文阅读