-3

以下有什么区别:-

  if(source[i] != ' ' && source[i+1] != ' ')        //1

  if(!( source[i] == ' ' && source[i+1] == ' '))     //2
4

2 回答 2

8

德摩根的法律应该回答你的问题。

"not (A and B)" 与 "(not A) or (not B)" 相同

所以

if(!(source[i]==' '&&source[i+1]==' ')) 

就像写作

if(source[i]!=' ' || source[i+1]!=' ') 

所以..您写的两个陈述之间存在差异,因为:    

if(source[i]!=' ' || source[i+1]!=' ') //if(!(source[i] == ' ' && source[i+1] == ' '))

不像_ _

if(source[i]!=' ' && source[i+1]!=' ') 
于 2013-09-08T14:17:14.687 回答
4
if(!(source[i]==' '&&source[i+1]==' ')) 

等于

if(source[i]!=' '||source[i+1]!=' ') 

这就是区别。

于 2013-09-08T14:16:28.140 回答