试题题干
设static int a;执行表达式(a==1)&&(a=-1)&&(a=2)后,a的值是()
参考答案
正确答案:
试题解析
a是静态变量,因为没有对a进行初始化,编译时a赋初值0,则表达式a==1为假。“&&"逻辑与运算,如果第一个表达式被判定为“假”,则运算结果与第二个表达式的值无关,结果肯定为“假”,C语言规定此时不再对第二个表达式进行判定或计算。
设static int a;执行表达式(a==1)&&(a=-1)&&(a=2)后,a的值是()
a是静态变量,因为没有对a进行初始化,编译时a赋初值0,则表达式a==1为假。“&&"逻辑与运算,如果第一个表达式被判定为“假”,则运算结果与第二个表达式的值无关,结果肯定为“假”,C语言规定此时不再对第二个表达式进行判定或计算。