Penukaran Boolean-Integer dalam C
Dalam bahasa pengaturcaraan C, selalunya perlu menukar antara jenis data yang berbeza. Satu penukaran biasa ialah antara nilai boolean dan integer. Timbul persoalan: bolehkah kita menganggap bahawa nilai boolean true adalah bersamaan dengan integer 1 untuk mana-mana pengkompil C?
Jawapannya
Ya, ia adalah selamat untuk diandaikan that (bool)true == (int)1 untuk mana-mana pengkompil C. Ini adalah kerana sebab berikut:
Oleh itu, ungkapan benar == 1 akan menilai kepada benar, tanpa mengira pengkompil C digunakan. Tingkah laku ini dinyatakan dalam piawai C (4.7 [conv.integral]) yang menyatakan bahawa "Jika jenis sumber ialah bool... true ditukar kepada satu."
Atas ialah kandungan terperinci Adakah `true` Sentiasa Bersamaan dengan `1` dalam Penukaran Integer Boolean C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!