if-else এর পরিবর্তে ‘?:’ ব্যবহার।

Imran Hasan
2 min readOct 4, 2020

--

মনে করুন, একটি প্রোগ্রামে 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

--

--

Imran Hasan
Imran Hasan

Written by Imran Hasan

DevOps Engineer - Building, Deploying and Scaling Software Solutions.

No responses yet