如果声明不平等,那意味着什么? (C)

时间:2014-03-15 14:11:39

标签: c if-statement

if(tree->left) 

if(!(*tree))

他们的意思是:

 if(tree->left==0) 

 if((*tree)==1)

我没有发现任何相关内容。

3 个答案:

答案 0 :(得分:2)

在C中没有布尔值而只有整数。 if语句只检查与0的相等性,将0评估为false,将其他所有内容评为true,因此您的示例等同于

if(tree->left != 0) 

if((*tree)==0)

答案 1 :(得分:1)

这意味着

if(tree->left != 0 ) 

if((*tree) == 0)

答案 2 :(得分:0)

C和C ++会将0解释为false,将其他任何内容解释为true

例如,做

if (my_var & 0x0010) {
  printf("Hello world");
}
如果my_var在第五个位置设置了位,

将打印消息。