Conditional Operator: একটা condition দিয়ে দুটি মান select করার একটা পদ্ধতি। এটি নিচের মতো করে লেখা হয়ঃ
Expression1? Expression2: Expression3
যেমনঃ
মনে করি i=5, তাহলে নিচের Conditional Operator টা দেখিঃ
Z=(i<8)?10:100;
এখানে Z এর জন্য Conditional Operator টা লেখা হয়েছে। এখানে লিখা হয়েছেঃ Z=(i<8)?10:100; অর্থাত যদি i এর মান 8 থেকে ছোট হয় তাহলে Z এর মান হবে 10। আর তা না হলে z এর মান হবে 100.
আমি নিচের প্রোগ্রামে সব কিছু বুঝানোর চেষ্টা করছিঃ
if-else statement এর পরিবর্তে Conditional Operator (?:) ব্যবহার করে সহজেই দুইটি statement অথবা valu এর মধ্যে তুলনা করে একটি মান নির্বাচিত করা যায়। Conditional Operator সি প্রোগ্রামিং এ নিচের মত করে লেখা হয়ঃ
condition ? first_expression : second_expression;
এখানে condition হচ্ছে যে কোন একটা শর্ত। যা সত্য হলে first_expression নির্বাচিত হবে। আর কন্ডিশন ভুল হলে second_expression। নিচে ছোট্ট একটা প্রোগ্রাম। যা দিয়ে দুটি সংখ্যার মধ্যে বড়টা নির্বাচিত করা হয়েছে।
#include <stdio.h>int main(){int x, y , result;scanf("%d %d", &x , &y);result = (x>=y) ? x : y ;printf("max is %d", result);return 0;}
একই প্রোগ্রাম, কন্ডিশন পরিবর্তন করে দুটি সংখ্যার মধ্যে ছোটটা নির্বাচিত করা হয়েছে।
#include <stdio.h>int main(){int x, y , result;scanf("%d %d", &x , &y);result = (x<=y) ? x : y ;printf("min is %d", result);return 0;}
যদিও একই কাজ if -else বা অন্য অনেক ভাবে করা যায়।