Rumah >pembangunan bahagian belakang >C++ >Adakah C Menjamin bahawa `(bool)true` Sama dengan `(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!