gnu C条件“如果”

时间:2011-02-17 03:06:38

标签: c gnu

我们以if(expression) {...}为例。我们都知道如果表达式为真,它将在大括号中执行行。但是C中的“真实”是什么? 那是!= 0表示我认为是真的吗?

谢谢

3 个答案:

答案 0 :(得分:7)

这是标准所要说的。

  

§6.8.4选择陈述

     

语法

     
      
  1. selection-statement:
       if ( expression ) statement
       if ( expression ) statement else statement
       switch ( expression ) statement
  2.         

    §6.8.4.1if语句

         

    约束

         
        
    1. if语句的控制表达式应具有标量类型。
    2.         

      语义

           
          
      1. 在两种形式中,如果表达式比较不等于0,则执行第一个子语句。在else表单中,如果表达式比较等于0,则执行第二个子语句。如果通过标签到达第一个子语句,则第二个子语句子语句没有被执行。
      2.   
      3. else与词汇最接近的前一个相关联,如果允许的话   语法。
      4.   

答案 1 :(得分:3)

任何非零结果测试均为真。

答案 2 :(得分:2)

是的,在C和C ++中,true不是-null。