Boolesche-Ganzzahl-Konvertierung in C
In der Programmiersprache C ist es oft notwendig, zwischen verschiedenen Datentypen zu konvertieren. Eine häufige Konvertierung erfolgt zwischen booleschen Werten und ganzen Zahlen. Es stellt sich die Frage: Können wir davon ausgehen, dass der boolesche Wert true der Ganzzahl 1 für jeden C-Compiler entspricht?
Die Antwort
Ja, das kann man mit Sicherheit annehmen dass (bool)true == (int)1 für jeden C-Compiler. Dies hat folgende Gründe:
Daher wird der Ausdruck true == 1 unabhängig vom verwendeten C-Compiler als true ausgewertet. Dieses Verhalten ist im C-Standard (4.7 [conv.integral]) spezifiziert, der besagt: „Wenn der Quelltyp bool ist... wird true in eins konvertiert.“
Das obige ist der detaillierte Inhalt vonIst „true' bei C-Booleschen-Ganzzahl-Konvertierungen immer gleichbedeutend mit „1'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!