Conversion booléenne-entier en C
Dans le langage de programmation C, il est souvent nécessaire de convertir entre différents types de données. Une conversion courante concerne les valeurs booléennes et les nombres entiers. La question se pose : peut-on supposer que la valeur booléenne true est équivalente à l'entier 1 pour n'importe quel compilateur C ?
La réponse
Oui, on peut supposer en toute sécurité que (bool)true == (int)1 pour n'importe quel compilateur C. Cela est dû aux raisons suivantes :
Par conséquent, l'expression true == 1 sera évaluée comme vraie, quel que soit le compilateur C utilisé. Ce comportement est spécifié dans la norme C (4.7 [conv.integral]) qui stipule que "Si le type source est bool... true est converti en un."
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!