设x,y,z均为整型变量,现有如下语句x=y=z=1;(++x||(++y&&++z));,则执行这个语句后y的值为A.2 B.1 C.0 D.不定值
- A2
- B1
- C0
- D不定值
设x,y,z均为整型变量,现有如下语句x=y=z=1;(++x||(++y&&++z));,则执行这个语句后y的值为A.2 B.1 C.0 D.不定值
本题考查逻辑表达式“||”的求解过程。在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是必须执行该逻辑表达式时才求出表达式的解。“||”为逻辑或运算,只有当该运算符左右两边的表达式都为假时(值为0),该逻辑运算的值才为假。只要有一个表达式为真,则该逻辑运算的值就为真。进行逻辑或运算时,只要运算符左边的表达式为真(值不为0),则不用运行运算符右边的表达式。题目中,初始时x、y、z的值都为1,运算符“||”左边为表达式++x,右边为表达式(++y&&++z)。程序运行时先判断表达式++x的值,该值为2,故该逻辑运算值为真,不需要执行运算符右边的表达式。