[Langage C] Condition if

Bonjour,

En etudiant le code d'un programme, je suis tombe sur un if de cette forme :

if ( !fonction )
{
...
}

Le probleme est que ma fonction retourne un int. Comment un int peut-il etre "true" ou "false" ?

Merci.

--
Le singe est toujours singe, fût-il vêtu de pourpre.
Configuration: Linux
Firefox 3.0.4

3 réponses

  1. Contributeur
    Un entier valant 0 est considéré comme false. Les autres sont considérés comme true.
    1. bon c'est le cas du longage C (où il n y'a pas de type booléen ) il considère 0 comme false, pour java par exemple une telle syntaxe n'est pas acceptée
      1. Contributeur
        longage C (où il n y'a pas de type booléen
        Euh si, le type booléen existe en C (C99) ;)
      2. @fiddyOn peut dire qu'il existe vraiment s'il est standard, j'ai utilisé plusieurs compilateurs ils n'ont pas tous un type dit "boolean"