gnu C条件"如果"

Jos*_*son 0 c gnu

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

谢谢

dre*_*lax 7

这是标准所说的.

§6.8.4选择陈述

句法

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

§6.8.4.1 if声明

约束

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

语义

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