小编jpw*_*wco的帖子

逻辑:是(A &&!(B || C))|| (B || C)与(A || B || C)相同?

我遇到了一些obj-c代码,我想知道是否有办法简化它:

#if ( A && !(B || C)) || ( B || C )
Run Code Online (Sandbox Code Playgroud)

这是一样的吗?

#if ( A || B || C )
Run Code Online (Sandbox Code Playgroud)

如果没有,是否有另一种方式来制定它更容易阅读?

[编辑]我在问这个问题之前尝试了真值表,但我认为我不得不遗漏一些东西因为我怀疑Foundation.framework/Foundation.h会采用这种更复杂的形式.它有充分的理由吗?

这是原始代码(来自Foundation.h):

#if (TARGET_OS_MAC && !(TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)) || (TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)
Run Code Online (Sandbox Code Playgroud)

logic

10
推荐指数
4
解决办法
2万
查看次数

标签 统计

logic ×1