a==1)&&(!b==0),而a=2,b=3,第一个表达式是什么意思

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 10:45:32

a==1)&&(!b==0),而a=2,b=3,第一个表达式是什么意思

这个考的是C语言的运算符的优先级了.
一般来说单目运算符优先级高于双目运算符.
这里!逻辑非运算符高于== 判等运算符,所以会优先计算!.
并且C语言使用0表示逻辑假;非0表示逻辑真,一般使用1来表示.
a=2,非0的值,是逻辑真,所以!a就是逻辑假,即0
b=3,非0的值,是逻辑真,所以!a就是逻辑假,即0
上面的表达式就相当于
(0==1)&&(0==0),&&是逻辑与运算符,两边同时为真才是真.
而0==1是逻辑假,那么这个表达式的值就是逻辑假,即0.