Rumah > pembangunan bahagian belakang > C++ > Adakah (4 > y > 1) Sentiasa Menilai kepada Salah dalam C ?

Adakah (4 > y > 1) Sentiasa Menilai kepada Salah dalam C ?

Barbara Streisand
Lepaskan: 2024-12-25 16:49:09
asal
321 orang telah melayarinya

Does (4 > y > 1) Sentiasa Nilaikan ke Salah dalam C ?
y > 1) Sentiasa Nilaikan kepada Salah dalam C ? " />

Menilai Kesahan (4 > y > 1) dalam C

Dalam C , ungkapan (4 > y > 1) mungkin menimbulkan persoalan tentang kesahihan dan penilaiannya.

Untuk memahami tingkah lakunya, adalah penting untuk mengetahui bahawa rantaian operator perbandingan, seperti (4 > y > 1), dihuraikan sebagai perbandingan bersarang dari kiri ke kanan Oleh itu, pernyataan:

(4 > y > 1)
Salin selepas log masuk

dihuraikan sebagai:

((4 > y) > 1)
Salin selepas log masuk
<.>Operator perbandingan (> dan <) menilai dalam susunan ungkapan, yang bermaksud bahawa keputusan (4 > y) adalah sama ada 0 (salah) atau 1 (benar) bergantung pada perbandingan.

Kemudian, hasil (4 > y) dibandingkan dengan 1 menggunakan operator lebih besar (>), bagaimanapun, sejak hasilnya daripada (4 > y) sentiasa sama ada 0 atau 1, ia tidak akan lebih besar daripada 1. Oleh itu, keseluruhan pernyataan sentiasa kembali false.

Pengecualian untuk Lebih Muatan Operator:

Walau bagaimanapun, terdapat pengecualian untuk gelagat ini jika y ialah objek kelas dengan lebih besar daripada operator (>), penilaian mungkin berubah. Dalam kes sedemikian, pelaksanaan pengendali yang terlebih beban menentukan tingkah laku ungkapan.

Contoh:

Pertimbangkan kod berikut:

class mytype {
};

mytype operator>(int x, const mytype &y) {
    return mytype();
}

int main() {
    mytype y;

    cout << (4 > y > 1) << endl;

    return 0;
}
Salin selepas log masuk
Dalam contoh ini, pengendali pengendali tersuai> untuk kelas mytype digunakan, yang mungkin menghasilkan tingkah laku yang berbeza mengikut pelaksanaan kelas.

Atas ialah kandungan terperinci Adakah (4 > y > 1) Sentiasa Menilai kepada Salah dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan