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

时间:2013-09-08 14:13:50

标签: c if-statement

以下内容之间有什么区别: -

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

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

2 个答案:

答案 0 :(得分:8)

De Morgan's laws应该回答你的问题。

  

“不(A和B)”与“(不是A)或(不是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]!=' ') 

答案 1 :(得分:4)

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

等于

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

这就是区别。