两个If表达式之间的区别?

cha*_*rre -3 c if-statement

以下是什么区别: -

  if(source[i] != ' ' && source[i+1] != ' ')        //1
Run Code Online (Sandbox Code Playgroud)

  if(!( source[i] == ' ' && source[i+1] == ' '))     //2
Run Code Online (Sandbox Code Playgroud)

Mar*_*oun 8

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

"不(A和B)"与"(不是A)或(不是B)"相同

所以

if(!(source[i]==' '&&source[i+1]==' ')) 
Run Code Online (Sandbox Code Playgroud)

就像写作一样

if(source[i]!=' ' || source[i+1]!=' ') 
Run Code Online (Sandbox Code Playgroud)

所以..你写的两个语句之间有区别,因为:    

if(source[i]!=' ' || source[i+1]!=' ') //if(!(source[i] == ' ' && source[i+1] == ' '))
Run Code Online (Sandbox Code Playgroud)

难道喜欢

if(source[i]!=' ' && source[i+1]!=' ') 
Run Code Online (Sandbox Code Playgroud)

  • +1.@Juhana这是非常*相关的.:-) (2认同)