Rumah >pembangunan bahagian belakang >C++ >Adakah C Menjamin bahawa `(bool)true` Sama dengan `(int)1`?

Adakah C Menjamin bahawa `(bool)true` Sama dengan `(int)1`?

Susan Sarandon
Susan Sarandonasal
2024-12-20 15:06:15334semak imbas

Does C   Guarantee that `(bool)true` Equals `(int)1`?

Bolehkah C Compiler Guaranty (bool)true Sama dengan (int)1?

Persoalannya timbul: bolehkah diandaikan bahawa (bool) benar bersamaan dengan (int)1 tanpa mengira makhluk pengkompil C digunakan?

Jawapan:

Ya, andaian ini berlaku untuk semua penyusun C. Pelakon dalam ungkapan adalah berlebihan. Nilai bool bertukar terus kepada int, seperti yang dimandatkan oleh promosi integral, menghasilkan int dengan nilai 1.

Rujukan:

Mengikut 4.7 [conv .integral] / 4, "Jika jenis sumber ialah bool... true ditukar kepada satu."

Atas ialah kandungan terperinci Adakah C Menjamin bahawa `(bool)true` Sama dengan `(int)1`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn