C语言的问题,一道逻辑表达式的题
来源:百度知道 编辑:UC知道 时间:2024/06/22 19:30:00
本人是初学者
!(x=a)&&(y=b)&&0
其中a=3 b =4 c=5
我不知道怎么去想“(x=a)” 这道题怎么作?按什么步骤?
!(x=a)&&(y=b)&&0
其中a=3 b =4 c=5
我不知道怎么去想“(x=a)” 这道题怎么作?按什么步骤?
我来说吧
条件表达式的值有两个0或者1(所有非零的数都认为是1)
!(x=a)&&(y=b)&&0
从做题角度讲
&&(且)最后一个是0
所以表达式值为0、
下面是详细解析
自左向右求解
!(x=a)&&(y=b)&&0-----》》(x=a)就是(x=3)是赋值表达式,表达式的值为3,(y=b)同理,式子变为
!3&&4&&0--》》》!3=!1=0
0&&4&&0
0 &&0
0
明白了吧~~~
有问题留言
必回
x=a,返回的是结果3,y=b返回结果4
表达式为 !3&&4&&0 => 0&&4&&0 => 0&&0 => 0
考的是优先级的问题,按着优先级来做就OK了。
括号的优先级最高,所以
先做
x=a, y=b.
然后就是!
最后是&&
这样的话x = 3, y =4.
表达式的值是 0
可以参考下他们的优先级再来做