Conditional operator

    इस  category में एक ही  operator( ? : ) आता है। चूंकि इसमें 3 operand काम में आते हैं अतः इसे ternary operator(टरनरी ऑपरेटर) के नाम से भी जाना जाता है। यह ऑपरेटर condition(कंडीशन ) की जांच करने के काम में आता है। इस  operator का प्रारूप इस प्रकार है। 

    सी ++ में, Ternary Operator(टर्नरी ऑपरेटर) जिसे conditional operator के रूप में भी जाना जाता है, का उपयोग कुछ परिदृश्यों में  if else को बदलने के लिए किया जा सकता है। Conditional Operator, if-else statement की तरह है।

    Conditional operator in C language, query boat, queryboat

    Conditional operator(Ternary Operator) का ऑपरेटर का प्रारूप इस प्रकार है:

    Logical Expression1 ? Expression2 : Expression3;


    यहां पर प्रथम expression में logical operators(लॉजिकल ऑपरेटरों) के माध्यम से कोई condition(कंडीशन) दी जाती है यदि दी गई condition through होने तो expression2 रन होगा अन्यथा expression3 रन होगा।

    Example:-

        result=(a>= 36 ? 'P' 'F');

    उपरोक्त उदाहरण में यदि a की वैल्यू 36 या उससे अधिक होगी तो result में P स्टोर होगा, अन्यथा  F स्टोर होगा।

    आगे के अध्याय में हम if स्टेटमेंट का अध्ययन करेंगे। कुछ स्थितियों में इस ऑपरेटर को if स्टेटमेंट के विकल्प के रूप में भी प्रयोग किया जा सकता है।

     Example:- 

    निम्न उदाहरण में conditional operator( ? : ) का प्रयोग दर्शाया गया है। 


        #include <stdio.h>
        #include <conio.h>
        void main()
        {
            int a, b, max;
            printf("Enter a Number: ");
            scanf("%d", &a);

            printf("Enter a Number: ");
            scanf("%d", &b);

            max = (a>b?a:b);
           
            printf("Largest Number is : %d", max);
            getch();
        }

    Output:-

    Enter a Number: 45
    Enter a Number: 65
    Largest Number is : 65

    Explain Example

    उपरोक्त उदाहरण में यदि वेरिएबल a तथा b को क्रमशः 45 तथा 65 वैल्यू इनपुट में दी जाए। तो एक्सप्रेशनa>b?a:bको 45>65?45:65के रूप में देखा जा सकता है। चूंकि वैल्यू 65 वैल्यू 45 से बड़ी है, अतः a>b का परिणाम होने केfalseकारण इस ऑपरेटर काfalseवाले भाग का परिणाम (जो कि 65 है) रिटर्न होगा और प्रिंट हो जाएगा।