问一个C语言有关逻辑表达式的问题
如果有如下条件: 表达式1||表达式2&&表达式3 请问如果表达式1的值为1,是否还要和表达式3做与运算? 我的意思是说,不管表达式1或表达式2哪个成立,最后都要和表达式3做与运算,是不是这个意思?
你错了.应该是这样的.在C语言中,&&的优先级高于||,所以应该先判断表达式2和表达式3的结果,如果答案是非0,那么可以不再判断,因为||的两边,只要有一边是非0就可以肯定值为1,如果答案是0,那么再和表达式1进行判断,情况如下: 0||0=0,1||0=1.
在C语言中,或(||)的优先级低于与(&&)的优先级,也就是说,无论表达式1,表达式2,表达式3的值是真或者是假,都是做以下关系运算: 表达式1的值 || (表达式2的值 && 表达式3的值) ,和他们的具体值无关。你的说法是不对的,因为此逻辑表达式是先求出||右侧的值,然后再与||左侧的值作关系或运算
答:!可否定逻辑值,常用作条件和循环语句中的逻辑表达式的组成部分 C语言中的逻辑值只有真(1)假(0)两种,非真即假,非假即真 如if (A) dosomethin...详情>>