দশমিক সংখ্যা কে বাইনারি সংখ্যায় কনভার্ট করা লিঙ্কের http://ideone.com/vLpOmR কোডটা এই লিঙ্কের http://ideone.com/jMOzWT মত করে লিখে রান করলে যাই ইনপুট দেই 1 আউটপুট দেয়, কি কারণে?

asked 15 Apr '16, 11:55

_Shaon_'s gravatar image

_Shaon_
796323

edited 15 Apr '16, 12:01


এর কারণ আপনার x = scanf("%d", &x) এই লাইন টা । এই লাইনের কারণে x এর মান প্রতিবার ১ সেভ হচ্ছে ।

কারণ scanf() ফাংশন যতগুলি ইনপুট সঠিক ভাবে নিতে পারে তার সংখ্যা রিটার্ন করে । এই ক্ষেত্রে ১ টা ইনপুট নিচ্ছেন তাই ১ রিটার্ন করবে এবং সেটা আপনি x এ সেভ করে রাখছেন । তাই আপনি যাই ইনপুট দেন না কেন ১ রিটার্ন করছে :)

এই সমস্যা সমাধান করার জন্য আপনি while লুপের মাঝে কনডিশনটা নিচের মতো করে দিতে পারেন

 while(scanf("%d", &x) && x != 0)

অথবা

while(scanf("%d", &x) == 1)

অথবা

while(scanf("%d", &x))

আমার শেষের টা ভাল লাগে :)

permanent link

answered 15 Apr '16, 12:17

menon's gravatar image

menon
4.7k335

edited 15 Apr '16, 12:21

1

ধন্যবাদ ভাই. বুঝতে পারছি :)

(15 Apr '16, 13:08) _Shaon_
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:

×402
×70

question asked: 15 Apr '16, 11:55

question was seen: 665 times

last updated: 15 Apr '16, 13:08