if-else এর পরিবর্তে ‘?:’ ব্যবহার।
মনে করুন, একটি প্রোগ্রামে a, b, c- এ তিনটি ভেরিয়েবল আছে। এখন, কীবোড হতে দু,টি মান ইনপুট দিয়ে a ও b এর মধ্যে রাখতে হবে। তারপর a ও b এর মধ্যে বড় মানটিকে c এর মধ্যে রাখতে হবে। এটা যদি আমার if-else দিয়ে করি তাহলে নিচের মতো করতে পারব।
#include <stdio.h>int main(){
int a, b, c;
printf("Enter two integer value:");
scanf("%d %d", &a, &b);
if(a > b){
c = a; else{
c = b; }
}
printf("\\n Now c = %d",c);return 0;}
Output:
Enter two integer values : 10 12
Now c = 12
এখন if-else এর পরিবতে ‘?:’ দিয়ে প্রোগ্রামটা করতে চাইলে প্রোগ্রামটা হবেঃ
#include <stdio.h>
int main(){
int a, b;
printf("Enter two integer values:");
scanf("%d %d", &a, &b);int c = a > b? a : b;
printf("\\n Now c = %d",c);return 0;}
লক্ষ্য করুন,
c = a > b? a : b;
এখানে a > b হলো একটি শর্ত (condition) যদি শর্তটা সত্যি হয় তাহলে ‘?’ এর পরে এবং ‘:’ এর আগে যে স্টেট্মেন্ট লিখা আছে সেটি এক্সিকিউট হবে। অথাৎ c = a; স্টেট্মেন্টটা এক্সিকিউট হবে। আর যদি শর্তটা সত্যি না হয় তাহলে ‘:’ এর পরে যে স্টেট্মেন্ট টা আছে সেটি এক্সিকিউট হবে। অথাৎ c = b; স্টেট্মেন্ট টা এক্সিকিউট হবে।
উদাহরন : উপরের প্রোগ্রাম যদি a বড় হয় তাহলে a — b এর মান c তে রাখতে হবে আর যদি b বড় হয় তাহলে b — a এর মান c তে রাখতে হবে।
#include <stdio.h>
int main(){
int a, b;
printf("Enter two integer values:");
scanf("%d %d", &a, &b);int c = a > b? a - b : b - a;
printf("\\n Now c = %d",c);return 0;}
Output:
Enter two integer values: 10 12
Now c = 2