以下是什么区别: -
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)
德摩根的法律应该回答你的问题.
"不(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)