Membedah Tanda Tanya dalam Kod C
Persoalan biasa timbul apabila menemui aksara tanda soal (?) dalam kod C. Mari kita selami maksudnya dan bagaimana ia boleh diganti.
Pengendali Bersyarat: Simfoni Tiga Hujah
Tanda soal (?) merupakan bahagian penting dalam pengendali bersyarat, permata sintaksis sebenar. Dinyatakan secara sintaksis sebagai:
condition ? result_if_true : result_if_false
Apabila keadaan dinilai kepada benar, ungkapan tersebut menghasilkan result_if_true; jika tidak, ia menilai kepada result_if_false.
Contoh: Membongkar Kekosongan Baris
Pertimbangkan coretan C ini:
int qempty() { return (f == r ? 1 : 0); }
Di sini, tanda soal bertindak sebagai bahagian tengah pengendali bersyarat. Jika keadaan f == r adalah benar, ungkapan itu dinilai kepada 1; jika tidak, ia mengembalikan 0.
Persamaan Sintaksis: Konstruk If-Else Klasik
Pengendali bersyarat menawarkan alternatif yang elegan kepada pernyataan if-else tradisional. Coretan di atas boleh ditulis semula sebagai:
int qempty() { if(f == r) { return 1; } else { return 0; } }
Kedua-dua pendekatan secara berkesan menentukan kekosongan baris gilir.
Ternary Tribute: An Alternate Moniker
Menariknya, ada yang merujuk kepada pengendali bersyarat sebagai "pengendali ternari." Ini adalah tepat, memandangkan sifat uniknya menerima tiga hujah (syarat, keputusan_jika_benar dan keputusan_jika_salah).
Atas ialah kandungan terperinci Apakah Maksud Tanda Tanya (?) dalam Kod C dan Bagaimana Ia Boleh Digantikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!