1. (C / C ++) Ternar operatori
Ternar operatori quyidagi shaklga ega:
amal1 ?amal2 : amal3
amal1 ifodasi har doim baholanadi. amal2 va amal3 bajarilishi amal1 natijasiga bogʻliq. Agar amal1 natijasi nolga teng bo‘lmasa, amal2 baholanadi, aks holda amal3 baholanadi.
Kamchiliklari: amal1 har qanday kamchiligi amal2 yoki amal3 dan oldin darhol baholanadi va yangilanadi. Boshqacha qilib aytganda, holatni uchlamchi nuqtai nazardan baholaganingizdan keyin ketma-ketlikda nuqta bor. Agar amal2 yoki amal3 kamchiligi bo‘lsa, ulardan faqat bittasi baholanadi.
Qaytish turi: Ternar operatori qaytish turiga ega. Qaytish turi odatiy \ ortiqcha yuklangan konversiya qoidalariga muvofiq amal2 ga va amal3 ning amal2 ga konvertatsiyasiga bogʻliq. Agar ular o‘zgartirilmasa, kompilyator xato tashlaydi. Quyidagi misollarga qarang.
Quyidagi dastur xatosiz kompilyatsiya qiladi. Uchlamchi iboraning qaytish turi float(amal2 dagiday) bo‘lishi kutilmoqda va amal3 (ya'ni, haqiqiy nol - turi int) noaniq ravishda float shaklga o‘tkaziladi.
Do'stlaringiz bilan baham: |