Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah C Menilai Pengendali Perbandingan Berantai Seperti (4 > y > 1)?
y > 1)? " />
Operator Logikal Berantai: Menilai (4 > y > 1) dalam C
Pernyataan (4 > y > 1) dalam C mungkin kelihatan logik, tetapi penilaiannya mengikut susunan tertentu operasi.
Penghuraian dan Susunan Penilaian
Pernyataan dihuraikan sebagai ((4 > y) > 1). ) dinilai dari kiri-ke-kanan Ungkapan 4 > 1.
Penilaian Keputusan
Memandangkan 0 atau 1 tidak pernah lebih besar daripada 1, keseluruhan pernyataan akan sentiasa kembali palsu Walau bagaimanapun, pengecualian berlaku apabila y ialah objek daripada kelas di mana pengendali > terbeban hasil.
Pengecualian Terlebih Muatan
Pertimbangkan coretan kod berikut:
class mytype{}; mytype operator>(int x, const mytype &y) { return mytype(); } int main() { mytype y; cout << (4 > y > 1) << endl; return 0; }
Dalam contoh ini, di mana y ialah kelas mytype dan > ; operator terlebih beban, kod akan gagal untuk disusun.
Atas ialah kandungan terperinci Bagaimanakah C Menilai Pengendali Perbandingan Berantai Seperti (4 > y > 1)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!