题目分析
这道题实际上是考验我们的与和或逻辑,众所周知,在c语言中与是&&或是||
所以我们就可以得到以下代码(有问题哦~)
错误代码演示
错误代码讲解
这个代码运行结果是没有问题的,我测试过了,但是你提交上去会发现他会有两个WA,这是为什么呢?
其实在c语言中与的优先级是比或要高的,也就是说,程序在执行的过程中会先执行与后执行或,根据上树代码,我们发现他的判断条件是以下
这也就导致了会先判断或地左边和右边,只要两个中的一个成立就行了。但事实上我们需要的结果不是这个,我们是要把他拆开来比较
正确代码演示
正确代码讲解
在这个正确代码中呢,我创建了四个变量,分别代表题目中要求的四个变量。
其次,这里的唯一一个不同就是判断条件变成了
在这里呢,我加上了一个()来先运行()中的内容(括号的优先级大于与),现在去尝试运行结果是没问题的,我也测试过了,现在我们只需要放心大胆的点击提交就行了。
希望大家给个小小的赞
招人启示
多余的我懒得写了,感兴趣的加吧不强求
提问时间
(尽情地提问吧!)