GNU C условие "если" - PullRequest
       9

GNU C условие "если"

0 голосов
/ 17 февраля 2011

мы получили if(expression) {...} например. Мы все знаем, если выражение истинно, оно будет выполнять строки в фигурных скобках. Но что такое «правда» в C? Это! = 0 значит правда, как я думаю?

Спасибо

Ответы [ 3 ]

7 голосов
/ 17 февраля 2011

Вот что говорит стандарт.

§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 ассоциируется с лексически ближайшим предшествующим, если это разрешено синтаксис.
3 голосов
/ 17 февраля 2011

Любые результаты, отличные от нуля, верны

2 голосов
/ 17 февраля 2011

Да, true не является нулевым в C и C ++.

...