C语言的问题,一道逻辑表达式的题

来源:百度知道 编辑:UC知道 时间:2024/06/22 19:30:00
本人是初学者

!(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

可以参考下他们的优先级再来做