以下有什么区别:-
if(source[i] != ' ' && source[i+1] != ' ') //1
和
if(!( source[i] == ' ' && source[i+1] == ' ')) //2
以下有什么区别:-
if(source[i] != ' ' && source[i+1] != ' ') //1
和
if(!( source[i] == ' ' && source[i+1] == ' ')) //2
德摩根的法律应该回答你的问题。
"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]!=' ')
if(!(source[i]==' '&&source[i+1]==' '))
等于
if(source[i]!=' '||source[i+1]!=' ')
这就是区别。