我有两个char的,s1并且s2,有一个说法
if ((s1 && !s2) || (!s1 && s2))
Run Code Online (Sandbox Code Playgroud)
但我觉得这是多余的,因为计算涉及两者s1和!s1单独看,同样的s2和!s2.因为,通过查看s1和s2,您已经拥有了基础!s1和信息!s2.有没有办法压缩这个陈述?
该语句是逻辑独占的,或者没有内置运算符.在某些限制下,您可以将其转换为按位 - 或^- 但更常见的是它可以写为
if ( !s1 != !s2 )
Run Code Online (Sandbox Code Playgroud)
逻辑not运算符!将0转换为逻辑true值,并将任何其他值转换为逻辑false值.然后可以用结果测试结果!=.