if(!a >= 400)

কন্ডিশনটা কী বোঝাচ্ছে??

asked 25 Jul '16, 15:00

Shamim_Ahmed's gravatar image

Shamim_Ahmed
336

edited 29 Jul '16, 10:42

Kaiser%20Ahmed's gravatar image

Kaiser Ahmed
3.2k522


১) আপনি প্রশ্নে লিখেছেন (!a >= 400), আমি এটা ধরেই প্রথমে উত্তর দিচ্ছি।

প্রথমে বলে রাখি C তে ! (নট) অপারেটর এর প্রাধান্য >=, >, <= বা < থেকে বেশি। কাজেই ! - এর কাজ আগে হবে। আপনি a - এর মান যা-ই দিন না কেন, এই কন্ডিশনটি সবসময়ই মিথ্যা হবে। এটা C++ - এর bool নামক ডাটা টাইপের কারণে। এরকম ক্ষেত্রে int ডাটা টাইপের মান 0 ছাড়া ধনাত্মক বা ঋণাত্মক যা-ই হোক না কেন, তা bool - এ টাইপ কাস্ট হয়ে true (বা 1) হবে, 0 হলে false (বা 0) হবে। এখানে a=100 হলে, !a = !(1) = 0 হবে, আর 400 থেকে 0 ছোট বিধায় কন্ডিশনটি মিথ্যা হবে।

আর যদি a = 9999999 দেন (বা যেকোনো 400 থেকে বড় মান) তাহলেও একই ঘটনা ঘটবে।

আর a = 0 দিলে !0 = 1 হবে, যা 400 থেকে ছোট, ফলে তখনও কন্ডিশনটি মিথ্যা হবে।

২) আপনি যদি if(!(a >= 400)) এটা বোঝান তবে আগে ব্র্যাকেটের ভেতরের কাজ হবে, ফলে কোনো সংখ্যা >= 400 -এর জন্য a>=400 - এটি true হবে আর শেষে !true = false হবে ফলে কন্ডিশনটি মিথ্যা হবে। আর যদি আপনি কোনো সংখ্যা < 400 দেন, তাহলে a>=400 - এটি false হবে আর শেষে !false = true হবে ফলে কন্ডিশনটি সত্য হবে।

**bool ডাটা টাইপ: এটি C++ - এর একটি ডাটা টাইপ। এর মান true বা 1 এবং false বা 0 - এই দু'রকম হতে পারে। আরও জানতে চাইলে গুগলে সার্চ দিতে পারেন।

** C অপারেটরসমূহের প্রেসিডেন্সি লিস্ট: http://en.cppreference.com/w/c/language/operator_precedence

ধন্যবাদ।

permanent link

answered 25 Jul '16, 16:01

Najat's gravatar image

Najat
5398

edited 25 Jul '16, 16:45

ধন্যবাদ আপনাকে । প্রথম উত্তরটির জন্যই প্রশ্নটি করা ।

(25 Jul '16, 16:38) Shamim_Ahmed

ধন্যবাদ আপনাকেও।

(25 Jul '16, 16:41) Najat
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×14
×5

question asked: 25 Jul '16, 15:00

question was seen: 667 times

last updated: 29 Jul '16, 10:42