Apakah perbezaan utama dalam tingkah laku pengendali bersyarat antara C dan C?

Mary-Kate Olsen
Lepaskan: 2024-11-04 01:56:01
asal
294 orang telah melayarinya

  What are the key differences in the conditional operator's behavior between C and 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;
Salin selepas log masuk

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;
Salin selepas log masuk

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);
Salin selepas log masuk

Walau bagaimanapun, dalam C, ini akan menimbulkan ralat tanpa tanda kurung di sekeliling ungkapan terakhir:

(true ? a = 1 : (b = 2));
Salin selepas log masuk

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!