Rumah > Artikel > pembangunan bahagian belakang > Apakah perbezaan utama dalam tingkah laku pengendali bersyarat antara C dan C?
Perbezaan Antara C dan C Operator Bersyarat (?)
Operator bersyarat (?:) menyediakan cara ringkas untuk menilai ungkapan berdasarkan syarat. Walau bagaimanapun, ia mempamerkan perbezaan ketara dalam kefungsian antara C dan C .
Penugasan Nilai:
Dalam C , pengendali bersyarat boleh mengembalikan nilai l, membenarkan ungkapan seperti:
(true ? a : b) = 1;
Ini memberikan nilai 1 kepada sama ada a atau b bergantung pada kebenaran kebenaran. Dalam C, ini tidak dibenarkan dan seseorang mesti menggunakan pernyataan if/else atau bekerja secara langsung dengan rujukan:
*(true ? &a : &b) = 1;
Keutamaan Pengendali:
Dalam C , operator ?: dan = mempunyai keutamaan yang sama dan kumpulan kanan-ke-kiri. Ini bermakna yang berikut adalah sah:
(true ? a = 1 : b = 2);
Walau bagaimanapun, dalam C, ini akan menimbulkan ralat tanpa tanda kurung di sekeliling ungkapan terakhir:
(true ? a = 1 : (b = 2));
Oleh itu, apabila menggunakan operator bersyarat dalam persekitaran C dan C bercampur, adalah penting untuk mengetahui perbezaan bernuansa ini untuk mengelakkan tingkah laku yang tidak dijangka.
Atas ialah kandungan terperinci Apakah perbezaan utama dalam tingkah laku pengendali bersyarat antara C dan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!