কম্পিউটার টিউটোরিয়াল

C/C++-এ টার্নারি অপারেটর


যে অপারেটরগুলো তিনটি অপারেন্ড लेकर কাজ করে, সেগুলোকেই টার্নারি অপারেটর বলা হয়। এটি ? : দিয়ে প্রতীকীভাবেই প্রকাশ করা হয়। এটিকে কন্ডিশনাল অপারেটর ও বলা হয়। এই অপারেটর পারফরম্যান্স বাড়ায় এবং কোডের লাইন কমায়।

C-এ টার্নারি অপারেটরের সিনট্যাক্স নিচে দেওয়া হলো:

Expression1 ? Expression2 : Expression3

C-এ টার্নারি অপারেটরের একটি উদাহরণ:

উদাহরণ

#include <stdio.h>

int main() {
    int a = -1;
    double b = 26.4231;
    int c = a ? printf("True value : %lf", b) : printf("False value : 0");
    return 0;
}

আউটপুট

True value : 26.423100

Expression1 সবসময় ইভ্যালুয়েট হবে যখন Expression2 এবং Expression3 Expression1-এর ফলাফলের ওপর নির্ভরশীল। যদি Expression1-এর ফলাফল নন-জিরো বা নেগেটিভ হয়, তবে Expression2 প্রদর্শিত হবে, অন্যথায় Expression3 প্রদর্শিত হবে।

টার্নারি অপারেটরের একটি রিটার্ন টাইপ রয়েছে। রিটার্ন টাইপ Expression2-এর ওপর এবং Expression3-এর Expression2-এ কনভার্টিবিলিটির ওপর নির্ভর করে। যদি সেগুলো কনভার্টিবল না হয়, তবে কম্পাইলার এরর থ্রো করবে।

C-এ টার্নারি অপারেটরের আরেকটি উদাহরণ:

উদাহরণ

#include <stdio.h>

int main() {
    int x = -1, y = 3;
    double b = x + y + 0.5;
    int c = x < y ? printf("True value : %lf", b) : printf("False value : 0");
    return 0;
}

আউটপুট

True value : 2.500000

  1. সি/সি++-এ টার্নারি অপারেটর (?:) বনাম if-else

  2. C/C++-এ স্ট্রিং ইন্টিজার কিনা চেক করা

  3. C/C++-এ লেফট শিফট এবং রাইট শিফট অপারেটর

  4. C++-এ রিলেশনাল অপারেটর