本帖最后由 梁工 于 2023-2-7 20:54 编辑
QQ624353765 发表于 2023-2-7 13:19
就是任何值为真,除了31和47
那就是“沙发”一楼的回复,两个判断都可以。 zhp 发表于 2023-2-7 13:23
对于你的代码,值为31和47时也为真(其实是所有的值都为真)
所以你不觉得是你的逻辑判断有问题吗? ...
我明白了
if ((P->CD_GunDong != 31) || (P->CD_GunDong != 47))
CD_GunDong =31时
判断CD_GunDong !=31假
在判断CD_GunDong !=47真
所有这个if判断是真
CD_GunDong =47时
判断CD_GunDong !=31真
所有if也是有效的
if ((P->CD_GunDong != 31) && (P->CD_GunDong != 47))
CD_GunDong =31时
if(假&&真)==假
CD_GunDong =47时
if(真&&假)==假
你要这样解释就容易明白了 STCAI-32位8051 发表于 2023-2-7 13:58
使用楼主的方法实测证明C51编译器判断逻辑并没有问题,或许有其他隐藏问题没有找出,请楼主也发个简单的 ...
STC客服都这么厉害了,能给参考程序了 ? STCAI-32位8051 发表于 2023-2-7 13:58
使用楼主的方法实测证明C51编译器判断逻辑并没有问题,或许有其他隐藏问题没有找出,请楼主也发个简单的 ...
解决了 只要满足一个就执行?你的程序意思是不等于31或不等于47其他条件都执行
页:
1
[2]